随机字符串多个ID

时间:2015-03-19 16:55:53

标签: javascript jquery html css

我想在不同的CSS中显示结果。这是html:

<div class="yellow" id="studentID"></div>

<div class="red" id="studentID"></div>

<div class="blue" id="studentID"></div>

<div class="bllack" id="studentID"></div>

这是JS

function randString(x){
    var s = "";
    while(s.length<x&&x>0){
        var r = Math.random();
        s+= String.fromCharCode(Math.floor(r*26) + (r>0.5?97:65));
    }
    return s;
}

document.getElementById("studentID").innerHTML = randString(10);

我花了4个多小时才找到解决方案。没有解决..

为什么随机字符串只显示在一个DIV中,如何在所有DIV中显示随机字符串。提前谢谢。

3 个答案:

答案 0 :(得分:0)

您不能为多个元素提供相同的ID,而是使用类,并按类名定位元素。

var elements = document.getElementsByClassName("the-class");

这将返回一个数组,您可以迭代它以影响各个元素。

var elements = document.getElementsByClassName("studentID");

for (var i = 0; i < elements.length; i++) {
    elements[i].innerHTML = randString(10);
}

JSBin:http://jsbin.com/buqemafizi/1/

答案 1 :(得分:0)

ID应该是唯一的。您应该只有一个带有ID的元素在页面上。如果你有多个,你的jquery将使用它找到的第一个。

您应该将同一个类应用于您要选择的所有元素。

答案 2 :(得分:0)

嘿,请使用该代码。

 $('div').each(function () {
   $(this).attr('id', 'div' + 1 + Math.floor(Math.random() * 6877));
}); 

Live Demo

希望它可以帮到你