javascript深入之尋找元素操作

來源:互聯網
上載者:User
getElementsByClassName:
<body ><ul>    <li id="a1" class="a">aa</li>    <li id="a2" class="a b">aa</li>    <li id="a3" class="aa a b">aa</li> </ul> <div class="a">afdafaf</div><script type="text/javascript">var getElementsByClassName = function(className,node,tag){var node = node || document,nodes,res = [],match = false,eles,ele,classes;if(document.getElementsByClassName){nodes= node.getElementsByClassName(className);if(typeof tag !== "undefined"){for(var i=0,len=nodes.length; i<len;i++){var node = nodes[i];if(tag !== "*" && node.tagName === tag.toUpperCase()){res.push(node);}}}else{res=nodes;}}else{tag = tag || "*";classes = className.split(" ");eles = (tag === "*" && node.all) ? node.all : node.getElementsByTagName(tag);match = false;//迴圈比較//for(var i=eles.length; i>0; i--){for (var i=0,elen=eles.length; i<elen; i++){var ele = eles[i];for(var k=0,klen=classes.length; k<klen; k++){match =new RegExp("(^|\\s)" + classes[k] + "(\\s|$)").test((ele.className).replace(/(^\s+)|(\s+$)/,""));if(!match) break;}if(match) res.push(ele);}}return res;}//執行個體:alert(getElementsByClassName("a",document,"li").length);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.