HTML 属性内の引用符を適切にエスケープするにはどうすればよいですか? 質問する

HTML 属性内の引用符を適切にエスケープするにはどうすればよいですか? 質問する

Web ページにドロップダウンがありますが、値の文字列に引用符が含まれていると機能しなくなります。

値は です"asdが、DOM では常に空の文字列として表示されます。

文字列を適切にエスケープするために私が知っているあらゆる方法を試しましたが、効果はありませんでした。

<option value=""asd">test</option>
<option value="\"asd">test</option>
<option value="&quot;asd">test</option>
<option value="&#34;asd">test</option>

ポストバック メッセージに正しい値が含まれるように、これをページ上にレンダリングするにはどうすればよいですか?

ベストアンサー1

&quot;正しい方法は、3番目のテストです。

<option value="&quot;asd">test</option>

この動作は以下またはjsFiddle

alert($("option")[0].value);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
  <option value="&quot;asd">Test</option>
</select>

あるいは、属性値を一重引用符で区切ることもできます。

<option value='"asd'>test</option>

おすすめ記事