Jquery如何在href中添加onclick

时间:2012-02-28 16:16:13

标签: javascript jquery-ui jquery

如何使用jquery函数将onclick='openLightB('remove_ddi',500);'添加到<a>open</a>

我现在的代码是这样的

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

不幸的结果是这样的

<a remove_ddi',500);'="" onclick="openLightB(">Remove</a>

6 个答案:

答案 0 :(得分:8)

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

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

DEMO


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

答案 1 :(得分:5)

您可以通过更改代码来修复代码,

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

或简化它,

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

此外,如果您使用的是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);
     });
 });

答案 2 :(得分:3)

这项工作用于引用问题:

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

答案 3 :(得分:1)

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

答案 4 :(得分:-1)

试试这个

<a href="javascript:openLightB('remove_ddi',500)">Remove</a>

jquery的

$(".remove_row").live("click", function(){
  $(".ddi tr:eq(2) td:eq(5) a").prop('href','javascript:openLightB("remove_ddi",500);');
});

答案 5 :(得分:-1)

$(".remove_row").live("click", function(){
 $(".ddi tr:eq(2) td:eq(5) a").attr('onClick', 'openLightB("remove_ddi",500);'); });