0

バックエンドから値を取得し、チェック ボックスのグループを作成しています。値の 1 つはチェック ボックスで適切に設定されていません。

テストは次のように表示されます: 「フランス語 (コートジボワール)」

しかし、出力では次のような結果が得られます:

<label><input value="French (Cote d" ivoire)'="" type="checkbox">French (Cote d'Ivoire)</label>

「'」をエスケープする必要があることは理解しています。そのために私は交換作業を行いましたが、それでも問題は修正されていません。

ここに私の試みがあります:

$.map(data["allLocales"], function(value, i){

                var name = value.name;
                    name.replace("'", "&quot;") even i tried name.replace("'", "\'") - no luck

                if(i % 5 === 0 ){
                    col0 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
                }else if(i % 5 === 1){
                    col1 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
                }else if(i % 5 === 2){
                    col2 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
                }else if(i % 5 === 3){
                    col3 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
                }else if(i % 5 === 4){
                    col4 += "<label><input value='"+ name +"' type='checkbox' />"+name+"</label>"
                }

            })

「'」をエスケープする方法-シングルコートを適切に、および次のような他の特殊文字の場合

$, &,%

将来、そのシナリオを処理する方法を取得した場合..?

4

1 に答える 1

1

$(element).attr(attrName, value)属性の変更、および$(element).text(value)テキスト コンテンツに使用します。

HTML を自分で操作したり連結したりしないでください。悪いコードは簡単にセキュリティの問題につながるからです。

于 2013-07-18T05:47:53.083 に答える