筛选DOM元素

设 A = $("#id a"),B = $("#id .c a"),求 A - B。

要求:1、不能用 jQuery 等框架;

           2、兼容 IE6 在内的各大浏览器;

           3、尽可能高效;

           4、尽可能简短。

 

解法一(由檬檬提供):

 1 var b = document.getElementById("id"),
 2     a = b.getElementsByTagName("a"),
 3     result = [];
 4 
 5 o: for (var i = 0, j = a.length; i < j; i++) {
 6     var c = a[i].parentNode;
 7     while (c && c != b) {
 8         if ((" " + c.className.toLowerCase() + " ").indexOf(" c ") >= 0) {
 9             continue o;
10         }
11         c = c.parentNode;
12     }
13     result.push(a[i]);
14 }
15 console.log(result);

 

其他解法 米棕my

 

posted @ 2012-08-14 20:00  小猩猩君  阅读(227)  评论(0编辑  收藏  举报