0

これが私のコードです:

jQuery("#"+code+"_2").after("<a href='#' id='"+code+"_3' onclick='addfunction('"+code+"', event); return true;'><img src='special.gif' border='0'></a>");

addfunction( で構文エラーが発生します。コードは文字列で、引用符で囲んでみましたが、うまくいきません。何かアイデアはありますか?

UPDATE --- これは機能しますが、関数内でコードとイベントを渡しません。

function addfunction() {
alert("THIS WORKS");
}
var myAnchor = $('<a href="#" id="' + code + '_3"><img src="special.gif" border="0"></a>').bind('click', addfunction);
$('#' + code + '_2').after(myAnchor);
4

4 に答える 4

1

心の正気のために、コードを再編成してみてください。

var insertLink = function(code) {
   var parent = jQuery('#' + code + '_2');
   var a = $('<a/>', {
       href: '#',
       id: code + '_3'
   }).html('<img src='special.gif' border='0'>').on('click', function() {
      addfunction(code, event);
      return true;
   });
}

私はコードをテストしていませんが、要点はわかりました。

于 2013-04-04T19:45:53.667 に答える
1

内側の一重引用符をエスケープする必要があります。

jQuery("#"+code+"_2").after("<a href='#' id='"+code+"_3' onclick='addfunction(\'"+code+"\', event); return true;'><img src='special.gif' border='0'></a>");
于 2013-04-04T19:32:58.710 に答える
0

問題はaddfunction('"+code+"', event) 、onnClick 値内の一重引用符をエスケープする必要があることです。

jQuery("#"+code+"_2").after("<a href='#' id='"+code+"_3' onclick='addfunction(\'"+code+"\', event); return true;'><img src='special.gif' border='0'></a>");
于 2013-04-04T19:33:06.117 に答える