1

使用 jquery 我想为一系列 div 添加一个 id,但当然 id 需要总是不同的,所以我想有一个渐进的数字,比如 id="1", id="2", id="3 “ ETC。

这是我的标记:

内容

    <div class="box">
        <p>
            content
        </p>
    </div>
    <div class="box">
        <p>
            content
        </p>
    </div>
    <div class="box">
        <p>
            content
        </p>
    </div>

我尝试了一个 .each() 循环,但我不知道将什么作为集合传递(可能是 $('.box').lenght()? 但返回一个数字而不是集合)以及如何实现回调函数。请问有什么帮助吗?

提前致谢 :)

毛罗

4

2 回答 2

3

你可以.each()这样使用:

$(".box").each(function(i, div) {
  div.id = "div" + (i+1); //i starts at 0
});

ID 不能以数字开头,无论如何在 HTML4 中都不能,所以我在上面添加了一个前缀。回调函数接收索引和元素作为参数,它是从 0 开始的,.each()所以1如果你希望它以1.

你可以在这里测试一下

于 2010-07-20T23:41:47.587 回答
3

.attr()接受函数

$(".box").attr('id', function(i) {
    return 'div_' + i;
});
于 2010-07-20T23:44:09.987 回答