通过javascript自动在页面上为每个DIV添加类(连续编号)?

时间:2012-10-18 17:08:29

标签: javascript jquery dom

我在wordpress安装上运行了一个contact-form-plugin。一切正常,但我想更多地塑造我的形式。要做到这一点,我必须以不同的方式设计一些DIV(插件正在处理)。问题是:所有DIV容器都没有ID或类!一切都由插件处理,我的PHP技能就像零,所以我必须处理这个“裸”DIV; - )

问题是:是否可以通过javascript向当前网站上的每个DIV添加连续编号的类?

感谢到目前为止,我希望你得到我的意思(对不起那个糟糕的英语)!

3 个答案:

答案 0 :(得分:3)

另一种方式,将回调传递给.attr [docs]

$('div').attr('class', function(i) {
    return 'someClass' + i;
});

虽然您也可以将其用于ID,因为每个类都是唯一的。

注意您不必使用ID或类来选择元素,有许多selectorstraversal方法可供您参考你想要的元素。


为了防止覆盖现有的类,要么只选择没有类的元素,要么以某种方式将div s的选择范围缩小到只有你想要的那些:

$('div:not([class])')

或使用.addClass [docs]代替.attr

$('div').addClass(function(i) {
    return 'someClass' + i;
});

答案 1 :(得分:1)

你需要这样的东西,

<强> Live Demo

$('div').each(function(i, item){
    $(this).attr('class', "YourClass" + i); //You can replace i with some other variable if required and increment it.
});

答案 2 :(得分:1)

你可以这样做:

var divs = document.getElementsByTagName("div");
var className = "myClass";
for( var i = 0, max = divs.length; i< max; i++ ){
 divs[i].setAttribute("class",className + i.toString());
}