document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes))
retnode.push(elem[i]);
}
return retnode;
};
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes))
retnode.push(elem[i]);
}
return retnode;
};
document.getElementsByAtt = function(att,value) {
var retnode = [];
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
if (elem.getAttribute(att)==value)//class是att="className"
retnode.push(elem[i]);
}
return retnode;
};
终于解决……
不过不知道是不是最好的方法……
结帐。
<form>
<label>类型</label>
<select onchange="slc('price','select',this.options[this.options.selectedIndex].value);"><option value="0">住房</option><option value="1">商铺</option><option value="2">写字楼</option></select>
<label>价格</label>
<select class="price"><option>5万元以下</option><option>10万元以下</option><option>20万元以下</option><option>50万元以下</option><option>100万元以下</option><option>200万元以下</option><option>500万元以下</option><option>1000万元以下</option><option>1000万元以上</option></select><select class="price"><option>每月500元以下</option><option>每月1000元以下</option><option>每月2000元以下</option><option>每月5000元以下</option><option>每月1万元以下</option><option>每月1万元以上</option></select><select class="price"><option>每月每方50元以下</option><option>每月每方100元以下</option><option>每月每方200元以下</option><option>每月每方200元以上</option></select>
<script>
function getElementsByClassName(strClass,strTag,objContElm){
strTag=strTag || "*";
objContElm=objContElm || document;
var objColl=(strTag=='*' && document.all && !window.opera) ? document.all:objContElm.getElementsByTagName(strTag);
var arr=new Array();
var delim=strClass.indexOf('|') != -1 ? '|' : ' ';
var arrClass=strClass.split(delim);
for (var i=0,j=objColl.length;i<j;i++){
var arrObjClass=objColl[i].className.split(' ');
if (delim==' ' && arrClass.length>arrObjClass.length) continue;
var c=0;
comparisonLoop:
for (var k=0, l=arrObjClass.length;k<l;k++){
for (var m=0, n=arrClass.length;m<n;m++){
if (arrClass[m]==arrObjClass[k]) c++;
if ((delim=='|' && c==1) || (delim==' ' && c==arrClass.length)){
arr.push(objColl[i]);
break comparisonLoop;
}
}
}
}
return arr;
}
function slc(tg,tp,id){
var myObjColl=getElementsByClassName(tg,tp);
for (var i=0,j=myObjColl.length;i<j;i++){
myObjColl[i].style.display="none";
myObjColl[id].style.display="block";
}
}
</script>
<input type="submit" value="提交" />
</form>