如何抓取埋在你抓取的元素中的元素

How to grab an element buried inside an element you grabbed?

本文关键字:抓取 元素 何抓取      更新时间:2023-09-26

希望我能很好地解释它。我做

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];

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

你几乎得到了:

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...;
});

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

当你从dom中获取一个元素时,就像使用document.getElementsByTagName一样,你会得到相同的方法getElementsByTagName,所以你可以:foo[i].getElementsByTagName("…")对于所需元素的集合,然后可以对该数组进行迭代并搜索匹配的类。

此外,我建议使用jQuery或MooTools等javascript库,这将使您的生活更轻松。