1

我有以下 jQuery 代码块,用于将一些 html 从一个地方复制到另一个地方:

var newLine  = $('#popup-clone .popup-contents').last().clone();
newLine.find('.popup-title').html("hello world");

$('#popup-container').append(newLine);

这会在循环中运行多次,因此 html 呈现如下:

    <div id="popup-container" style="display: block;">
        <div class="popup-contents">
            <a class="close">close this popup</a>
            <span class="popup-title">Title 1</span>
            <span class="popup-description"></span>
            <span class="popup-type"></span>
            <span class="popup-open"></span>
        </div>
        <div class="popup-contents">
            <a class="close">close this popup</a>
            <span class="popup-title">Title 2</span>
            <span class="popup-description"></span>
            <span class="popup-type"></span>
            <span class="popup-open"></span>
        </div>
    </div>

等等

我想为每个带有 class="popup-contents" 的 div 添加一个唯一 ID,但我不确定我该怎么做?任何帮助表示赞赏。

4

4 回答 4

5

使用'attr': http ://api.jquery.com/attr/

newLine.attr('id', 'prefix' + someindex)
于 2012-04-08T00:36:36.300 回答
2

如果 id 可以是唯一随机的,那么我过去所做的就是使用Create GUID / UUID in JavaScript 中的 UUID/GUID 生成器?生成随机ID。

那么这只是一个做的问题

newLine.attr( "id", guid );
于 2012-04-08T00:39:39.147 回答
1

您通常可以避免需要为克隆的元素提供 id。

一个元素通常需要一个 id 的原因是 (a) 作为 CSS 样式的参考或 (b) 因此它可以通过 javascript/jQuery 解决。

在这两种情况下,您都可以在创建克隆元素时对其进行寻址。

于 2012-04-08T01:15:33.523 回答
0

使用prop代替attr

jQuery .prop()

newLine.prop('id', 'prefix' + someindex)
于 2012-04-08T00:47:42.550 回答