有没有办法用Javascript将#links中的所有类名存储到一个数组中并使用循环为每个类分配一个ID?
以下是
之前<div id="links">
<a href="/somelink" class="aj51">some link</a>
<a href="/somelink" class="aj53">some link</a>
<a href="/somelink" class="aj52">some link</a>
<a href="/somelink" class="aj54">some link</a>
</div>
之后的javascript
<div id="links">
<a href="/somelink" class="aj51" id="aj51">some link</a>
<a href="/somelink" class="aj53" id="aj53">some link</a>
<a href="/somelink" class="aj52" id="aj52">some link</a>
<a href="/somelink" class="aj54" id="aj54">some link</a>
</div>
答案 0 :(得分:1)
以下是使用JavaScript(没有jQuery)执行此操作的两种简单方法。当然,这假设你每个元素只有一个类。
var elem = document.getElementById('links');
for (var i = 0; i < elem.getElementsByTagName('a').length; i++) {
elem.getElementsByTagName('a')[i].setAttribute('id',elem.getElementsByTagName('a')[i].className)
}
或
var links = document.getElementById('links').getElementsByTagName('a');
Array.prototype.map.call(links, function (el) {
el.setAttribute('id',el.className)
});