如何抓住一个埋在你抓住的元素内的元素?

时间:2012-02-20 00:12:51

标签: javascript html dom

希望我能够解释得很清楚。我做了

var foo = document.getElementsByTagName('bar');
var len = foo.length;
for(var i=0;i<len;i++){
//Do stuff
}

在里面,我也希望能够得到一个深埋在foo [i]中的元素(特别是一个类)。我的想法就像是

var whatIWant = document.getElementsByClassName("name").foo[i];

但这似乎不是我需要做的。我只是不确定语法还是我需要做一些完全不同的事情?

2 个答案:

答案 0 :(得分:3)

你几乎得到了它:

foo = document.getElementsByTagName('bar');
// foo is now a nodelist of all nodes named 'bar'.

for (i = 0; i < foo.length; i++) {
   bar = foo[i].getElementsByClassName('baz');
   // bar is now a nodelist of all elements with class 'baz' in the dom tree under foo[i].

}

如果您使用的是jquery,那就像下面这样简单:

$('bar .baz').each(function() {
   $(this). etc...;
});

答案 1 :(得分:2)

据我所知,getElementsByClassName是HTML5(根据这个:https://developer.mozilla.org/en/DOM/document.getElementsByClassName),因此使用它意味着并非所有浏览器都支持它。

当您从dom中获取Element时,与document.getElementsByTagName一样,您将获得相同的方法getElementsByTagName,因此您可以执行以下操作: FOO [I] .getElementsByTagName( “...”) 对于所需元素的集合,您可以迭代该数组并搜索匹配的类。

另外,我建议使用jQuery或jo或MooTools这样的javascript库,它会让你的生活更轻松。

相关问题