我有很多<ul>
列表,并尝试从此列表的每个第一个li获取文本。
标记很简单:
<ul>
<li>abc</li>
<li>def</li>
<li>ghi</li>
</ul>
等等。
我的jQuery尝试是:
var elems = $('ul'); // returns a nodeList
var arr = jQuery.makeArray(elems);
arr.reverse(); // use an Array method on list of dom elements
for( var i=0; i < elems.length; i++) {
console.log($(this).find('li:lt(1)').text());
}
但我在for
循环中遇到错误$(this).
如果我不使用{我不知道如何获得ul
数字1或3的第一个文本{1}}
那么如何在$(this).
循环中正确指出呢?
答案 0 :(得分:4)
.each
会给你this
。
$('ul').each(function() {
console.log($(this).find('li').eq(0).text());
})
答案 1 :(得分:2)
使用:first
代替:eq(0)
$('ul').each(function() {
console.log($(this).find('li:first').text());
});
或者,放弃find()
功能。
$('ul').each(function() {
console.log( $('li:first', this).text() );
});
答案 2 :(得分:0)
你也可以使用:
$("li:nth-child(1)").each(function()
{
console.log($(this).text());
});
备注:强>
:nth-child(n)
,所有孩子都被计算在内,无论他们是什么。
:nth-child(n)
,n是从1开始的(第一个索引是1而不是0)