我环顾四周,但似乎没有回答我的问题。我有一张简单的地图,5x5。它有25个div,标记为a1-e5,如下所示:
<div id='a1'></div>
<div id='a2'></div>
<div id='a3'></div>
<div id='a4'></div>
<div id='a5'></div>
等等。我试图运行一个函数来为每个div分配一个类。为此,我尝试将所有div放入一个数组中,但数组总是变空。这就是我正在尝试的:
var divs = [];
$('div').each(function() {
divs.push($(this));
});
它只是没有向数组中添加任何内容。完全没有。有任何想法吗?在此先感谢您的帮助!
编辑:代码在函数内部,我只给了你一个函数片段。对不起,对此感到困惑!
编辑2:我想为每个div分配一个随机类,这就是我想使用数组的原因。
答案 0 :(得分:2)
$('div').each(function(idx,div){
$(div).addClass('div'+idx)
})
这将导致
<div id="a1" class="div0"></div>
<div id="a2" class="div1"></div>
<div id="a3" class="div2"></div>
<div id="a4" class="div3"></div>
<div id="a5" class="div4"></div>
答案 1 :(得分:1)
为什么不简单地执行addClass
?
<强> JS 强>
$('div').each(function(key) {
$(this).addClass("divCss"+$(this).prop("id").substr(1,1)[0]);
});
<强> CSS 强>
.divCss1
{
background-color:red;
}
.divCss2
{
background-color:green;
}
.divCss3
{
background-color:yellow;
}
.divCss4
{
background-color:blue;
}
.divCss5
{
background-color:teal;
}
答案 2 :(得分:0)
jquery选择器将返回一个项目数组,所以
$('div')
返回一个数组
var myDivs = $('div'); // gives you an array
确保在dom中呈现div之后运行代码
即。在$(function () {});
答案 3 :(得分:0)
简单地做
$('div').addClass("className");
将该类添加到所有25个div。
编辑:
根据您的评论,您可以执行以下操作:
$('div').each(function() {
/*Other code here to determine which class will be added to which div*/
$(this).addClass("className");
});