1

我有以下结构:

<a title="title 1"> T1 </a>
<a title="title 2"> T2 </a>
...
<a title="title n"> Tn </a>

我需要做的是将data-filter每个属性中的属性设置a为与标题相同的值,以获得此:

<a title="title 1" data-filter="title 1"> T1 </a>
<a title="title 2" data-filter="title 2"> T2 </a>
....
<a title="title n" data-filter="title n"> Tn </a>

所以我正在尝试这样的事情:

$("a").attr("data-filter", $(this).attr("title"));

我的问题是$(this)零件。我正在尝试引用当前元素以使用title. 我怎样才能做到这一点?谢谢你。

4

2 回答 2

6

尝试使用函数的函数 arg 版本.attr

http://api.jquery.com/attr/#attr-attributeName-functionindex--attr

$("a").attr("data-filter", function () {
    return this.title;
});
于 2013-10-29T18:01:14.243 回答
2

你很近。 $(this)仅当您在函数中时才有效。在您的情况下,您希望$(this)在一个函数中使用一个遍历选择器找到的所有元素的函数,使用each

$("a").each(function() { $(this).attr("data-filter", $(this).attr("title")) });

这是一个基本的小提琴

于 2013-10-29T18:01:52.670 回答