0

jqueryのappend関数を使用してタグを追加します。

これがブロックしているjqueryコードです

tabSections(data).forEach(function(section){
    $("#sections nav ul").append("<li id='section_"+section+"' class='list_section' onClick='addText("+section+")'>" + section + "</li>");
});

そしてブラウザからのHTMLコード

<li onclick="addText(287585-C)" class="list_section" id="section_287585-C">287585-C</li>

liタグをクリックすると、定義されている関数addText(section){}が呼び出されます。私が得ている参照エラーは、関数に渡したものを完全な文字列としてではなく、2つの数値(減算)として認識していることです。そのため、Cが定義されていないというエラーが発生します。

このようなHTMLコードを取得しようとしています

<li onclick="addText('287585-C')" class="list_section" id="section_287585-C">287585-C</li>

HTMLコードに2つの引用符が表示されるように(および/またはJavaScriptが引数を2つの数値ではなく文字列として解釈するように)、JavaScriptコードを変更するにはどうすればよいですか?タグをクリックするとエラーが発生します

toString()関数も何もしませんでした。

前もって感謝します

4

3 に答える 3

0

文字列区切り記号を追加する必要がありますが、\...でエスケープする必要があります。

tabSections(data).forEach(function(section){
    $("#sections nav ul").append("<li id='section_"+section+"' class='list_section' onClick='addText(\""+section+"\")'>" + section + "</li>");
});
于 2013-03-13T11:07:31.890 に答える