我如何将jquery函数重新附加到html元素

时间:2018-03-29 12:18:01

标签: javascript jquery

如何在jQuery中将函数重新附加到html元素。让我有很多锚标签和JS:



$(document).ready(function() {
  $('a').click(function(event) {
    event.preventDefault();
    //doing some manipulation and making ancher html string and replacing with current ancher tags like i.e
    var newAncherTags = "mytest1";
    $(this).replaceWith(newAncherTags); // using replacewith method is my requirement
  });
  $('#a').click(function() {
    //definition
  });
  $('#b').click(function() {
    //definition
  });
  $('#c').click(function() {
    //definition
  });
  $('#d').click(function() {
    //definition
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="a">test1</a>
<a href="#" id="b">test2</a>
<a href="#" id="c">test3</a>
<a href="#" id="d">test4</a>
&#13;
&#13;
&#13;

替换锚标签事件丢失后,单击功能不起作用。它只与一个html页面无关,我有很多页面,我无法改变每个html页面上的jQuery函数,如

$(document).on('click','#a', function(event) {});

对锚标记的操作功能在一个文件中,所以我想在这个函数中做一些事情。

1 个答案:

答案 0 :(得分:0)

使用您使用的相同解决方案。

&#13;
&#13;
$(document).ready(function() {
  $(document).on("click", 'a', function(event) {
    event.preventDefault();
    //doing some manipulation and making ancher html string and replacing with current ancher tags like i.e
    var newAncherTags = "mytest1";
    $(this).replaceWith(newAncherTags); // using replacewith method is my requirement
  });
  $(document).on("click", '#a', function() {
    //definition
  });
  $(document).on("click", '#b', function() {
    //definition
  });
  $(document).on("click", '#c', function() {
    //definition
  });
  $(document).on("click", '#d', function() {
    //definition
  });
});
&#13;
<a href="#" id="a">test1</a>
<a href="#" id="b">test2</a>
<a href="#" id="c">test3</a>
<a href="#" id="d">test4</a>
&#13;
&#13;
&#13;