我尝试在div中为图像元素设置id。
<div id = 'div_content'>
<img src ='img1.png'>
<img src ='img2.png'>
</div>
脚本:
var items = document.querySelectorAll('#div_content img');
for (var i = 0, l = items.length; i < l; i++) {
items[i].attr("id","id"+i);
};
但这是错的。
答案 0 :(得分:5)
$('#div_content img').each(function (index) {
$(this).attr("id","id" + index);
});
alert($("#div_content").html());
&#13;
<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>
&#13;
不要使用querySelectorAll
,因为你已经使用过jQuery。
$('#div_content img').each(function (index) {
$(this).attr("id","id" + index);
});
document.querySelectorAll
将返回DOMElement
个不具备attr
方法的数组。
答案 1 :(得分:4)
不要使用jQuery,只需直接设置属性即可。代码更短,效率也更高!:
items[i].id = 'id' + i;
注意:items[i]
只是一个DOM元素,您必须编写$(items[i])
以使用.attr
方法将其转换为jQuery对象。