我在具有相同ID的页面上有两个UL。我想在第二届UL中针对第五名。有可能做这样的事吗?
HTML:
<ul id="homepage-blockpaging">
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
</ul>
<ul id="homepage-blockpaging">
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
</ul>
建议jquery:
$('#homepage-blockpaging:eq(1) li:eq(4)').after('<li>New Item</li>');
首选结果:
<ul id="homepage-blockpaging">
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
<li>New Item</li>
<li>Item </li>
<li>Item </li>
<li>Item </li>
</ul>
答案 0 :(得分:0)
你可以使用$("ul")[1]
然后,要查找第5个li,您可以使用jQuery find()
方法和:eq
但是要使用它们,您必须将其转换回jQuery对象。
所以,最后你会得到类似的东西:
$($("ul")[1]).find("li:eq(4)").after('<li>New Item</li>');
答案 1 :(得分:0)
首先,您要将homepage-blockpaging
更改为某个类,因为您在HTML中不能拥有两个具有相同ID的元素!
然后,你可以用这种方式完成你想要的东西:
$(".homepage-blockpaging:eq(1)") // get 2nd ul
.find("li:eq(4)") // get the 5th li inside it
.after( // create a new li element
$("<li>")
.text("New Item")
);
Here是一个演示。