[英]Set ID attribute via Jquery
I try to set id for image elements in a div. 我尝试为div中的图像元素设置ID。
<div id = 'div_content'>
<img src ='img1.png'>
<img src ='img2.png'>
</div>
And script: 和脚本:
var items = document.querySelectorAll('#div_content img');
for (var i = 0, l = items.length; i < l; i++) {
items[i].attr("id","id"+i);
};
But it's wrong. 但这是错误的。
$('#div_content img').each(function (index) { $(this).attr("id","id" + index); }); alert($("#div_content").html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id = 'div_content'> <img src ='img1.png'> <img src ='img2.png'> </div>
Do not use querySelectorAll
since you already use jQuery. 不要使用
querySelectorAll
因为您已经使用了jQuery。
$('#div_content img').each(function (index) {
$(this).attr("id","id" + index);
});
document.querySelectorAll
will return an array of DOMElement
s that don't have attr
method. document.querySelectorAll
将返回没有attr
方法的DOMElement
数组。
Don't bother using jQuery, just set the property directly. 不要打扰使用jQuery,只需直接设置属性即可。 The code's shorter and it's more efficient, too!:
代码更短,更有效!:
items[i].id = 'id' + i;
NB: items[i]
is just a DOM element, you would have had to write $(items[i])
to turn it into a jQuery object with a .attr
method. 注意:
items[i]
只是一个DOM元素,您必须编写$(items[i])
才能使用.attr
方法将其转换为jQuery对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.