将文本附加到属性而不是替换它?

时间:2009-03-13 22:51:18

标签: jquery

我想在某个类的所有元素的title属性中添加一些文本。

3 个答案:

答案 0 :(得分:32)

我知道这个问题是7岁。 万一有人遇到这个问题,这里是不使用.each的解决方案:

$('.theclass').attr("title", function() { return $(this).attr("title") + "Appended text." });

答案 1 :(得分:23)

在这种情况下,$(this)不是$('.theclass')的元素。也许您想使用each

$('.theclass').each(function() {
    $(this).attr("title", $(this).attr("title") + "Appended text.");
});

答案 2 :(得分:2)

JQuery提供了一种方法。 .attr()的一个版本使用一个函数作为value参数:

$('.theclass').attr('title', (i, value) => `${value || ""}appended text`);

i是属性的索引,value是属性的当前值...为了避免转换{{ 1}}拖入字符串value || ""中。