Javascript获取一组类名并将其添加为ID

时间:2015-02-20 21:00:18

标签: javascript

有没有办法用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>

1 个答案:

答案 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)
});