admin管理员组文章数量:1302565
I try to set id for image elements in a div.
<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.
I try to set id for image elements in a div.
<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.
Share edited Oct 13, 2014 at 9:24 Rahul Singh 21.8k6 gold badges42 silver badges60 bronze badges asked Oct 13, 2014 at 8:48 Tran Quoc HungTran Quoc Hung 831 silver badge10 bronze badges 3-
Where
l
es from? – emerson.marini Commented Oct 13, 2014 at 8:48 -
1
.querySelectorAll()
won't bring youjQuery
objects, so you can't usejQuery
methods on them. – emerson.marini Commented Oct 13, 2014 at 8:49 - it loop from 0 to l = items.length. I can set .style.left, .style.top, but can not set attr 'id' – Tran Quoc Hung Commented Oct 13, 2014 at 8:49
2 Answers
Reset to default 5Don't bother using jQuery, just set the property directly. 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.
$('#div_content img').each(function (index) {
$(this).attr("id","id" + index);
});
alert($("#div_content").html());
<script src="https://ajax.googleapis./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.
$('#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.
本文标签: javascriptSet ID attribute via JqueryStack Overflow
版权声明:本文标题:javascript - Set ID attribute via Jquery - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741691195a2392731.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论