我想更改ul的li文本,所以我编写了这样的代码:
$("#ul li:first").text("0");
$("#ul li:eq(1)").text("1");
$("#ul li:last").text("2");
我认为我可以先获取jquery对象,这样我就不需要访问ul三次了,所以我这样写,但似乎失败了。
var $ul=$("#ul");
$ul("li:first").text("0");
$ul("li:eq(1)").text("1");
$ul("li:last").text("2");
我改变了我的代码,但它仍然是错误的。
var $ulli=$("#ul li");
$ulli(":first").text("0");
$ulli(":eq(1)").text("1");
$ulli(":last").text("2");
答案 0 :(得分:0)
您尝试将jQuery对象用作函数,但您需要一个jQuery对象的方法。
尝试这样做:
$ul.find(<selector>)
答案 1 :(得分:0)
使用jquery的方法。
$ul.find("li:first")
答案 2 :(得分:0)
当您必须像批处理模式一样处理对象时,jQuery非常棒。因此,一种自然的jQuery方式可以做到你想要的:
$("#ul li").text(function(i) { return i; });
答案 3 :(得分:0)
您可以使用&gt;选择ul中的所有li。选择器$("#testing > li")
。
使用each()函数迭代所有li的
var i = 0;
$("ul > li").each(function (index, value) {
$(this).text(i++)
});
祝你好运。
答案 4 :(得分:0)
最短的方式是:
$("ul li").each(function(index){$(this).text(index)});