如何使我的jquery代码简单?

时间:2014-05-03 11:59:48

标签: javascript jquery

我想更改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");

5 个答案:

答案 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)});