如何在jquery中选择特定<url>的所有列表元素?</ul>

时间:2014-04-25 10:46:35

标签: jquery html-lists

//first ul    
<ul>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    //second ul
        <ul >
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>

我想只在第二个无序列表的所有<li>元素中写入一些文本。我希望我的jquery在第一个<li>

中忽略<ul>

这是我尝试过的,但它不起作用:

$("ul:nth-child(1) li").eq(1).each(function(){
                $(this).text("Lorem Ipsum");

            });

8 个答案:

答案 0 :(得分:2)

试试这个

$('ul:nth-child(2) li').each(function(){
    $(this).text("Lorem");
});

<强> DEMO HERE

答案 1 :(得分:1)

尝试使用:eq()选择器

$("ul:eq(1) > li").each(function(){
   $(this).text("Lorem Ipsum");
});

DEMO

答案 2 :(得分:1)

我想只在第二个无序列表的所有<li>个元素中写一些文字。

您可以使用:eq(index)

  

选择匹配集内索引n处的元素。

注意:要匹配的元素的从零开始的索引

使用

$("ul:eq(1) li").text("Lorem Ipsum")

DEMO

编辑:明智地在:eq():nth-child()

之间进行选择

参见比较例

Demo with :eq() vs Demo with :nth-child()

答案 3 :(得分:1)

尝试

$("ul:eq(1)").find("li").each(function(){
  $(this).text("Lorem Ipsum");
});

:eq(1)选择索引为1的元素。然后,您可以使用.find()来获取子元素。

答案 4 :(得分:1)

你需要选择nth-child(2)而不是1而不是eq(1),因为你需要所有列表:

$("ul:nth-child(2) li").each(function(){
     $(this).text("Lorem Ipsum");
});

由于@Rajaprabhu通知您的差异,您可能希望使用eq()方法而不是nth-child():

$("ul:eq(1) li").each(function(){
    $(this).text("Lorem Ipsum");
});

答案 5 :(得分:1)

如果您想查找页面的所有'ul',请使用以下代码

$j("ul").each(function () {

});

如果你想在特定的类或元素下找出特定的“ul”,那么使用下面的代码

$j(".ClassName ul").each(function () {

});


$j("#ParentElementId ul").each(function () {

});

答案 6 :(得分:0)

您可以为您的第二个ul提供ID并直接选择

$('#anyId li').each(function(){
    $(this).text("Lorem Ipsum");
});

答案 7 :(得分:0)

您可以使用

$("ul:eq(X) li").text("Text to write in second ul")

其中X =您想要的UL。以下是一个示例:http://jsfiddle.net/Q2gj6/2/