如何使用JQuery

时间:2016-04-19 14:35:46

标签: javascript jquery html

我有这个代码,它给了我所有LABEL HTML元素内的id为“nuovaImmagine”:

$.labelImmagine = $("#nuovaImmagine1").find("label");

我知道$.labelImmagine里面有3个标签。如果我alert($.labelImmagine.size());警报显示“3”;

现在我必须得到数组的第一个元素并编辑标签的文本。

我尝试了$.labelImmagine.get(0).text("Hello")$.labelImmagine[0].text("Hello"),但都没有效果。

有什么想法吗?

谢谢

4 个答案:

答案 0 :(得分:1)

您可以使用 .eq() 并使用 .text()

更改其文字
$.labelImmagine = $("#nuovaImmagine1").find("label");
$.labelImmagine.eq(0).text('some text');

检查以下代码段

$.labelImmagine = $("#nuovaImmagine1").find("label");
$.labelImmagine.eq(0).text('some text')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="nuovaImmagine1">

  <label>label 1</label>
  <br>
  <label>label 2</label>
  <br>
  <label>label 3</label>
  <br>
</div>

答案 1 :(得分:1)

您不需要HTML元素,您需要该HTML元素的jQuery对象。我可以告诉你,因为你正试图在它上面使用jQuery方法。

$().get(0)$()[0]都为您提供DOM节点。 您需要 $().eq(0)$().first(),它们会返回一个jQuery对象。

答案 2 :(得分:1)

污染$命名空间是坏主意。我宁愿用

var $labelImmagine = $("#nuovaImmagine1").find("label");
//   ^--- no dot.   

但是......否则,就像

一样

$.labelImmagine = $("#nuovaImmagine1").find("label");
$.labelImmagine.eq(0).text("WOOOOO");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="nuovaImmagine1"><label>TEST</label></div>

并且所有内容都包含在IIFE或文档范围内:

jQuery(function($) { // DOM ready and $ alias secured
    /**/
});

答案 3 :(得分:0)

如果你想继续使用Jquery,你需要重新&#39; jqueryify&#39;元素。 例如

$($.labelImmagine[0]).text("Hello")

这是因为通过索引选择元素它不再是jquery对象,因此.text()不存在。

否则你可以使用

$.labelImmagine[0].innerHTML = "Hello"