繁体   English   中英

如何使用JQuery在HTML元素数组中获取HTML元素

[英]How to get a HTML element in a HTML element array with JQuery

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

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

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

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

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

任何想法?

谢谢

您可以使用.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> 

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

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

污染$ namespace是个坏主意 我宁愿用

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
    /**/
});

如果你想继续使用Jquery,你需要重新'jqueryify'元素。 例如

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

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

否则你可以使用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM