Jquery如何在href中添加onclick

4

如何使用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>

3
.live()函数已经被弃用,根据你所使用的jQuery版本,你应该使用.delegate()或.on()函数。 - Surreal Dreams
并使用openlight返回false来返回“return openLight ...”,或者使用jQuery将点击分配给它。 - mplungjan
即使委托已被弃用... - dku.rajkumar
6个回答

9

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

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

演示


顺便提一下,.live()已被弃用,未来可能会从库中移除。您应该考虑使用.delegate().on()进行事件委托。


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);
     });
 });

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>");
        });
});

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

我不相信你可以使用.attr()来设置点击事件 - 你需要使用.click()。 - Surreal Dreams
@SurrealDreams。这只是一个属性,而不是jQuery方面的绑定。 - Didier Ghys
没错。onclick事件不会起作用,因为它没有绑定。 - Surreal Dreams

-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);');
});

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接