Chr*_*ris 239 html xhtml escaping
我在网页上有一个下拉列表,当值字符串包含引号时,它会断开.
值是"asd但在DOM中始终显示为空字符串.
我已经尝试过各种我认识的方法来正确地逃避弦乐但无济于事.
<option value=""asd">test</option>
<option value="\"asd">test</option>
<option value=""asd">test</option>
<option value=""asd">test</option>
Run Code Online (Sandbox Code Playgroud)
知道如何在页面上呈现这一点,以便回发消息包含正确的值吗?
And*_*y E 318
" 是正确的方法,第三个测试:
<option value=""asd">test</option>
Run Code Online (Sandbox Code Playgroud)
alert($("option")[0].value);Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option value=""asd">Test</option>
</select>Run Code Online (Sandbox Code Playgroud)
或者,您可以使用单引号分隔属性值:
<option value='"asd'>test</option>
Run Code Online (Sandbox Code Playgroud)
Luk*_*ski 15
如果您使用的是PHP,请尝试调用htmlentities或htmlspecialchars运行.
<option value=""asd">test</option>
<option value=""asd">test</option>
<option value='"asd'>test</option>
<option value='"asd'>test</option>
<option value='"asd'>test</option>
<option value="asd>test</option>
<option value="asd>test</option>
Run Code Online (Sandbox Code Playgroud)
请注意,如果您使用的是XML语法,则需要引号(单引号或双引号).
另一个选择是用单引号替换双引号,如果你不介意它是什么.但我没有提到这个:
<option value='"asd'>test</option>
Run Code Online (Sandbox Code Playgroud)
我提到这个:
<option value="'asd">test</option>
Run Code Online (Sandbox Code Playgroud)
就我而言,我使用了这个解决方案.