Ala*_*orm 9 javascript ajax jquery dom prototypejs
是否有内置方法或defacto默认插件,可以让你自动为jQuery中的元素分配一个唯一的ID,或者你需要自己实现这样的东西吗?我正在寻找与Prototype的识别方法等效的jQuery
这是一个例子.我在页面上有一些HTML结构,看起来像这样
<span id="prefix_1">foo bar</span>
...
<div id="foo">
<span></span>
<span></span>
<span></span>
</div>
Run Code Online (Sandbox Code Playgroud)
我想为每个跨度分配一个对于页面唯一的ID.在打完这样的话后
$('#foo span').identify('prefix'); //fake code, no such method
Run Code Online (Sandbox Code Playgroud)
渲染的DOM看起来像这样
<span id="prefix_1">foo bar</span>
...
<div id="foo">
<span id="prefix_2"></span>
<span id="prefix_3"></span>
<span id="prefix_4"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
对于jQuery有什么官方的/健壮的,或者这是大多数jQuery开发人员自己推出的东西?
Pao*_*ino 22
jQuery.fn.identify = function(prefix) {
var i = 0;
return this.each(function() {
if(this.id) return;
do {
i++;
var id = prefix + '_' + i;
} while($('#' + id).length > 0);
$(this).attr('id', id);
});
};
$('span').identify('test');
Run Code Online (Sandbox Code Playgroud)
测试了这个:
<span id='test_2'></span>
<span>test1</span>
<span>test2</span>
<span>test3</span>
Run Code Online (Sandbox Code Playgroud)
把它变成:
<span id="test_2"></span>
<span id="test_1">test1</span>
<span id="test_3">test2</span>
<span id="test_4">test3</span>
Run Code Online (Sandbox Code Playgroud)