Jquery如何在href中添加onclick

Mo.*_*Mo. 3 javascript jquery jquery-ui

如何添加onclick='openLightB('remove_ddi',500);'到<a>open</a>使用jQuery功能

我现在的代码是这样的

$(".remove_row").live("click", function(){
  $(".ddi tr:eq(2) td:eq(5) a").replaceWith("<a onclick='openLightB('remove_ddi',500);'>Remove</a>");
});
Run Code Online (Sandbox Code Playgroud)

不幸的是结果就是这样

<a remove_ddi',500);'="" onclick="openLightB(">Remove</a>
Run Code Online (Sandbox Code Playgroud)

Did*_*hys 8

如何让jquery使用.attr()来处理转义引号:

$(".remove_row").live("click", function(){
  $(".ddi tr:eq(2) td:eq(5) a").attr('onclick', "openLightB('remove_ddi',500);");
});
Run Code Online (Sandbox Code Playgroud)

DEMO


BTW,.live()已弃用,可以在将来的任何时候从库中删除.您应该考虑使用.delegate()或.on()进行事件委派.


Sel*_*gam 5

你可以修改你的代码,如下所示,

$(".remove_row").live("click", function(){
  $(".ddi tr:eq(2) td:eq(5) a")
     .replaceWith("<a onclick=\'openLightB(\'remove_ddi\',500);\'>Remove</a>");
});
Run Code Online (Sandbox Code Playgroud)

或简化它,

 $(".remove_row").live("click", function(){
    $(".ddi tr:eq(2) td:eq(5) a").click (function () {
      $(this).text('Remove');
      openLightB('remove_ddi',500);
     });
 });
Run Code Online (Sandbox Code Playgroud)

此外,如果您使用的是jQuery 1.7,那么请使用 .on

//replace <.remove_row container> with .remove_row container
 $('<.remove_row container>').on("click", '.remove_row', function(){
    $(".ddi tr:eq(2) td:eq(5) a").click (function () {
      $(this).text('Remove');
      openLightB('remove_ddi',500);
     });
 });
Run Code Online (Sandbox Code Playgroud)