2012-02-28 46 views
2

如何添加onclick='openLightB('remove_ddi',500);'<a>open</a>與jquery功能jQuery的如何的onclick加入HREF

我現在的代碼是這樣的

$(".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()或。對()使用。 – 2012-02-28 16:19:13

+0

和'open openLight ...'用openlight返回false。或者使用jQuery來指定點擊 – mplungjan 2012-02-28 16:22:58

+0

即使委託也被棄用... – 2012-02-28 16:23:31

回答

6

如何使用.attr()讓jQuery的處理逃逸引號:

$(".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

試這

<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

它不起作用 – Muhammed 2012-02-28 16:34:46

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); 
    }); 
}); 
1
$(".remove_row").live("click", function(){ 
    $(".ddi tr:eq(2) td:eq(5) a").attr('onclick', 'openLightB("remove_ddi",500);'); 
}); 
+0

我不相信你可以用.attr()設置點擊事件 - 你需要使用.click()來代替。 – 2012-02-28 16:21:27

+0

@SurrealDreams。這只是一個屬性,而不是jQuery的綁定。 – 2012-02-28 16:23:02

+0

這是正確的。 onclick事件實際上不會工作,因爲它沒有綁定。 – 2012-02-28 16:24:16

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