我有一组随机链接,如下所示:
<a rel="foo"> ... </a>
...
<a> ... </a>
其中一些可能具有rel
属性,而另一些则没有。
如何rel
为每个链接添加一个带有值的属性,如果链接已经有一个,那么将我的值附加到现有的值/值?
另外,如何跳过具有特定 rel 属性的任何元素,例如rel="ignore"
?
我有一组随机链接,如下所示:
<a rel="foo"> ... </a>
...
<a> ... </a>
其中一些可能具有rel
属性,而另一些则没有。
如何rel
为每个链接添加一个带有值的属性,如果链接已经有一个,那么将我的值附加到现有的值/值?
另外,如何跳过具有特定 rel 属性的任何元素,例如rel="ignore"
?
这应该可以正常工作:
$("a").each(function(index) {
var curRel = $(this).attr("rel");
if (curRel !== "ignore")
$(this).attr("rel", curRel + " my value");
});
对所有锚点进行简单迭代,附加您的值。如果rel
不存在curRel
将只是空字符串,因此代码不会中断。
var toModify = $('#xxx'); /* or how ever you identify you link */
var currentAttr = toModify.attr('rel');
if(currentAttr != 'ignore'){
toModify.attr('rel', currentAttr + '_asd');
}
仅使用attr
:
var add = "some rel to add";
$('a[rel!="ignore"]').attr('rel', function (i, old) {
return old ? old + ' ' + add : add;
});
有点冗长,但应该这样做(http://jsfiddle.net/dGGFN/):
var myValue = 'abc';
$.each($('a'), function(idx, item) {
var a = $(item);
var rel = $(a).attr('rel');
$(a).attr('rel', rel + myValue);
});