我有这个代码,它给了我所有LABEL
HTML元素内的id为“nuovaImmagine”:
$.labelImmagine = $("#nuovaImmagine1").find("label");
我知道$.labelImmagine
里面有3个标签。如果我alert($.labelImmagine.size());
警报显示“3”;
现在我必须得到数组的第一个元素并编辑标签的文本。
我尝试了$.labelImmagine.get(0).text("Hello")
和$.labelImmagine[0].text("Hello")
,但都没有效果。
有什么想法吗?
谢谢
答案 0 :(得分:1)
$.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"