示例:
<ul>
<li>
<a></a>
</li>
<li>
<a></a>
</li>
</ul>我可以使用$('ul').children('li').get(0);获取列表项。如何使用.children('a')遍历树?
我尝试过类似$('ul').children('li').get(0).children('a');的东西,但这不起作用。
供日后参考:
我将对.children().
a,这就是为什么我尝试使用
。
这就是为什么.eq()是首选的答案。现在我可以做这样的事情:
_load = function(index) {
image_get = thumbs.children('li').eq(index);
[...]
$(function() {
var img = $(new Image());
img
.load(function() {
[...]
}
.attr('src', image_get.children('a').attr('href'));
});
}
_load(0);^^ WIP代码未完成。
发布于 2011-07-26 04:10:59
.get()返回一个DOM元素。您可以将其包装回jQuery对象中,如下所示:
$($('ul').children('li').get(0)).children('a');但是我想你真正想要的是.eq()而不是.get()
$('ul').children('li').eq(0).children('a');编辑
里德善意地在下面的评论中指出,
$('ul').children('li').eq(0).children('a');
在语义上等同于更简洁的:
$('ul > li:first-child > a');
这与上面对单个选择器所做的相同。
发布于 2011-07-26 04:15:46
为什么不把它全部放在选择器中,让它为你做所有的工作:
$('ul li:first a')这将为示例HTML中的第一个<a>标记获取一个<a>对象。
选择器逻辑的工作方式如下:查找所有ul标记,在每个中查找第一个li标记,然后在每个第一个li标记中获取所有a标记。结果是一个jQuery选择,然后可以对其应用各种操作。
这里的演示:http://jsfiddle.net/jfriend00/5qZP5/
发布于 2011-07-26 04:15:52
你能做到的
$('ul li a:first');
http://jsfiddle.net/jasongennaro/yCAT6/
$('ul li a');返回列表中的所有a。
:first只为第一个过滤器。
https://stackoverflow.com/questions/6825152
复制相似问题