2012-09-18 33 views
0

我有code here on jsfiddle无法使用jquery在DOM上添加属性

我们正在使用jquery 1.4.4无法更新到更新的版本,在那里我可以让我的代码工作。

因此,我需要在domready或pageload上,将attr添加到众多<a标签中。有人可以帮助我找出一种方法,这是可能的JavaScript和/或所需的jQuery版本。

谢谢。

+2

为什么使用事件属性,如果您有jQuery的身边? – Bergi

+0

@Bergi这是一个很好的观点! – Anicho

回答

1

您可以使用.attr(index, callback)过程做到这一点很容易地象下面这样:

$('a').attr('href', function(index, oldAttr) { 
    if (oldAttr.indexOf('test') >= 0) { 
     $(this) 
      .removeAttr('onclick') 
      .get(0) 
      .setAttribute("onclick", "test"); 
    } 
});​ 

Demo

但是,如果你想使用.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"); 
     } 
    } 
});​ 

Demo

+0

这不工作:http://jsfiddle.net/3mZVc/2/ – Anicho

+0

它与我原来的相同,但删除,但不添加回来。 – Anicho

+0

@Anicho检查我的更新 – thecodeparadox

相关问题