-1

アポストロフィを文字列に渡すのに問題があります。私が試みるすべて(エスケープなど)はおかしくなります。

ブラウザで次の行を出力する方法を教えてください。

<a href="javascript:;" onclick="addToBasket('tk_id','track')" class="pl-buy"></a>

次の形式を使用します。

d += "<a href='javascript:;' onclick='addToBasket("' + a.tk_id + '" , 'track')' class='" + this.options.playlistOptions.plbuybutton + "'></a>";

これが最善の方法ではないことはわかっていますが、可能であれば、関数を記述せずにこの方法で実行したいと考えています。

前もって感謝します、

許す

4

5 に答える 5

1

ここ:

d += "<a href='javascript:;' onclick='addToBasket('" + a.tk_id + "', 'track')' class='" + this.options.playlistOptions.plbuybutton + "'></a>";

いくつかの一重/二重引用符が間違った方法で丸められています。

于 2013-06-03T20:11:19.420 に答える
0

これを理解するのに約5時間しっかりと費やした後、別のアプローチを試してみようと思い、単一引用符にASCII文字を使用するだけになりました(以前に誤って呼び出したため、アポストロフィではありません)。それは魅力のように機能しました;)

これが最終的な作業コードです(醜いですが、仕事をします):

d += "<a href='javascript:;' onclick='addToBasket(&#39;" + a.tk_id + "&#39;,&#39;" + a.type2 + "&#39;)' class='" + this.options.playlistOptions.plbuybutton + "'></a>";

助けを提供してくれたすべての人に感謝します。

G ;)

于 2013-06-04T04:24:39.920 に答える
0

おそらく、次のようなテンプレート lib が便利です。

https://github.com/janl/mustache.js

http://handlebarsjs.com/

またはさらに:http://underscorejs.org/#template、これは実際にはテンプレートライブラリではありませんが、無料のテンプレートを備えた優れたスイスアーミーナイフ汎用ライブラリです。

于 2013-06-03T20:12:08.530 に答える
0

バックスラッシュでエスケープすると、常にうまくいきました:

alert('\'abc\'');

あなたの場合は次のとおりです。

d += '<a href=\"javascript:;\" onclick=\"addToBasket(\'' + a.tk_id + '\',\'track\')\" class=\"' + this.options.playlistOptions.plbuybutton + '\"></a>';
于 2013-06-03T20:12:19.593 に答える