我有code here on jsfiddle。无法使用jquery在DOM上添加属性
我们正在使用jquery 1.4.4无法更新到更新的版本,在那里我可以让我的代码工作。
因此,我需要在domready或pageload上,将attr添加到众多<a
标签中。有人可以帮助我找出一种方法,这是可能的JavaScript和/或所需的jQuery版本。
谢谢。
我有code here on jsfiddle。无法使用jquery在DOM上添加属性
我们正在使用jquery 1.4.4无法更新到更新的版本,在那里我可以让我的代码工作。
因此,我需要在domready或pageload上,将attr添加到众多<a
标签中。有人可以帮助我找出一种方法,这是可能的JavaScript和/或所需的jQuery版本。
谢谢。
您可以使用.attr(index, callback)过程做到这一点很容易地象下面这样:
$('a').attr('href', function(index, oldAttr) {
if (oldAttr.indexOf('test') >= 0) {
$(this)
.removeAttr('onclick')
.get(0)
.setAttribute("onclick", "test");
}
});
但是,如果你想使用.each()
然后尝试像以下:
$('a').each(function(index, element) {
var el = $(element),
hasHref = !el.attr('href'); // return true, if no href
if(!hasHref) {
var href = el.attr('href');
if(href.match('test').length || href.match('test-page').length) {
el
.removeAttr("onclick")
.get(0)
.setAttribute("onclick", "test");
}
}
});
这不工作:http://jsfiddle.net/3mZVc/2/ – Anicho
它与我原来的相同,但删除,但不添加回来。 – Anicho
@Anicho检查我的更新 – thecodeparadox
为什么使用事件属性,如果您有jQuery的身边? – Bergi
@Bergi这是一个很好的观点! – Anicho