javascript – jQuery是否等同于Prototype的Element.identify?

前端之家收集整理的这篇文章主要介绍了javascript – jQuery是否等同于Prototype的Element.identify?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有内置的方法或defacto默认插件,将允许您自动为jQuery中的元素分配唯一的ID,或者您需要自己实现这样的东西?我正在寻找相当于 Prototype’s identify method的jQuery

这是一个例子.我在页面上有一些HTML结构,看起来像这样

<span id="prefix_1">foo bar</span>
...
<div id="foo">
   <span></span>
   <span></span>
   <span></span>
</div>

我想为每个跨度分配页面唯一的ID.所以在这样打电话之后

$('#foo span').identify('prefix');   //fake code,no such method

渲染的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>

有没有什么官方的/强大的jQuery,或者这是jQuery开发者自己呢?

解决方法

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');

测试了:

<span id='test_2'></span>
<span>test1</span>
<span>test2</span>
<span>test3</span>

转到:

<span id="test_2"></span>
<span id="test_1">test1</span>
<span id="test_3">test2</span>
<span id="test_4">test3</span>
原文链接:https://www.f2er.com/jquery/153900.html

猜你在找的jQuery相关文章