我正在做这样的事情:
var MESSAGE = "part1 part2";
var fName = $("<input type=\"text\" class=\"fieldname\" size=35 disabled=disabled value=" + MESSAGE + " />" );
文本框的值原来是“part1”,缺少第2部分。即空白后的字符。这里有什么错误?
答案 0 :(得分:5)
您应该为您的值添加"
:
var MESSAGE = "part1 part2";
var fName = $("<input type=\"text\" class=\"fieldname\" size=35 disabled=disabled value=\"" + MESSAGE + "\" />" );
否则,您的浏览器会将“part2”解释为“class”或“size”等新属性。
答案 1 :(得分:1)
一个改进可能是使用jQuery .attr()
函数,因为它会自动转义HTML实体,例如"
。我们建议您这样做,除非您完全确定您的邮件不包含任何"
,<
或>
。
var MESSAGE = "part1 part2";
var fName = $("<input">).attr({
type : "text",
class : "fieldname",
size : "35",
disabled : "disabled",
value : MESSAGE
});
现在你很安全。