动态地将动作从Href更改为Onclick

时间:2014-02-04 07:01:09

标签: javascript jquery

我有一个带有href属性的Html标签,这个标签没有任何类或id,但它的父母有,但是父元素的id永远不会相同[它是动态内容]。我想删除href属性并将onclick事件应用于它。 onclick的值应与href相同。我写了一个jquery代码,但它只改变了第一个。请注意,我不是动态构造这个元素。我只能改变它的属性。

HTML

<body>
<div id="AUDITOR_ASSIGNMENTS_field__div">    
<a aria-label="Open Assignments" href="javascript:getmlov(98,22,2)">Click Me</a>
</div>    
<div id="_1__AUDITOR_ASSIGNMENTS_field__div">    
<a aria-label="Open Assignments" href="javascript:getmlov(99,21,2)">Click Me</a>
</div>
<div id="_3__AUDITOR_ASSIGNMENTS_field__div">    
<a aria-label="Open Assignments" href="javascript:getmlov(102,13,1)">Click Me</a>
</div> 
</body>

Jquery

$('#AUDITOR_ASSIGNMENTS_field__div a').each(function() {
      var href = $(this).attr('href');
      $(this).attr('onclick', href)
         .removeAttr('href');
  });

的jsfiddle http://jsfiddle.net/d2vL6/

2 个答案:

答案 0 :(得分:0)

使用:

 $("[id$='AUDITOR_ASSIGNMENTS_field__div']").find('a').each(function() {
  var href = $(this).attr('href');
  $(this).attr('onclick', href)
     .removeAttr('href');
});

<强> Demo

答案 1 :(得分:0)

这是另一种解决方案

  $('div a').each(function() {
     var href = $(this).attr('href');
     $(this).attr('onclick', href)
       .removeAttr('href');
  });