【发布时间】:2015-07-23 00:28:09
【问题描述】:
场景:<div> 文本有双引号。追加动态输入并警告输入值的 JQuery 方法不起作用。我知道转义引号时会触发此问题。有人可以查看代码吗?
var divText = $("div").text();
$('form:not(:has([name="' + divText + '"]))').append($('<input>', {
type: 'text',
value: divText,
name: divText
}));
alert($('[name="' + divText + '"]').val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>"</div>
<form>
</form>
我在这里创建了一些demo
【问题讨论】:
-
你真的应该把代码放在问题中。
-
你将不得不逃避它,你会遇到更多问题learn.jquery.com/using-jquery-core/faq/…
-
@epascarello 我试过
$("div").text().replace(/"/g,'\"')但没有用 -
你需要转义斜线试试
'\\"' -
转义不会有帮助,可能会起作用,但它不是应该的,您将输入元素的名称属性设置为 div 内的文本,名称,id 等属性不应有任何空格或特殊其中的人物。在那里改变你的逻辑..
标签: javascript jquery html escaping