繁体   English   中英

从每个ul获取第一个li元素的文本

[英]get text of the first li element from every ul

我有很多<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());
    }

但是我在$(this).for循环中有一个错误$(this). 如果我不使用$(this).我不知道如何获取ul数字1或3的第一个文本$(this).

那么如何正确地将其指向for循环呢?

.each会给你this

$('ul').each(function() {
     console.log($(this).find('li').eq(0).text());
})

使用:first而不是:eq(0)替代语法

  $('ul').each(function() {
     console.log($(this).find('li:first').text());
  });

或者,放弃find()函数。

 $('ul').each(function() {
    console.log( $('li:first', this).text() );
 });

您还可以使用:

$("li:nth-child(1)").each(function() 
                              {
                                console.log($(this).text());
                              });

笔记:

  • 使用:nth-child(n) ,将计算所有子项,无论它们是什么。

  • 使用:nth-child(n) ,n从1开始(第一个索引是1而不是0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM