我有一个元素:
<select id="row" />
我想在id属性的末尾添加一个字符串,如下所示:
<select id="row_1" />
我用来实现这个目标的jQuery是(来自each
):
$(this).attr('id',$(this).attr('id')+'_'+row_count);
这看起来像罪恶一样丑陋,虽然它有效但我想知道是否有更简单的解决方案。在这个例子中,ID前缀(例如行)永远不会是常量,所以我不能只做'row_'+row_count
。
干杯!
答案 0 :(得分:10)
不要忘记扩展jQuery非常简单:
$.fn.appendAttr = function(attrName, suffix) {
this.attr(attrName, function(i, val) {
return val + suffix;
});
return this;
};
然后在其他任何地方你想要这样做:
$('p').appendAttr('id', 'i_like_turtles');
答案 1 :(得分:8)
您可以传递.attr()
一个函数,如下所示:
$("select").attr("id", function(i, val) {
return val + '_' + i; //i == index, val == original attribute, the id
});
Scroll down a bit here to find the function overload for .attr()