1

このコードでは、basis変数に一"Father's Day"重引用符が含まれていると、一重引用符が検出された時点でタグが閉じられているため、次のような問題が発生しています。

'success' : function(data) {
    div.innerHTML = '<a href=\'javascript:blockConcept("'+tld+'","'+basis+'","'+admin_id+'","'+url+'")\' class="block">Block concept for '+ tld+'</a>'
}
4

1 に答える 1

3

basis次を使用して、(およびその他の)単一引用符をエスケープできますreplace

... + basis.replace(/'/g, "\\'") + ...

...しかし、それでは他の問題が発生する可能性があります (たとえば、改行)。tld、、basisなどの属性を要素に出力してから、要素から情報を取得できるようにblockConcept渡すことを検討してください。thisまたは、エンコードする単一の引数を渡しますJSON.stringify(shim が必要な場合があります。すべてのブラウザーにまだネイティブに備わっているわけではありません)。

于 2013-02-11T15:32:08.997 に答える