我正在做这样的事情:
var MESSAGE = "part1 part2";
var fName = $("<input type=\"text\" class=\"fieldname\" size=35 disabled=disabled value=" + MESSAGE + " />" );
文本框的值原来是“part1”并且缺少 part2。即空格后面的字符。这里有什么错误?
我正在做这样的事情:
var MESSAGE = "part1 part2";
var fName = $("<input type=\"text\" class=\"fieldname\" size=35 disabled=disabled value=" + MESSAGE + " />" );
文本框的值原来是“part1”并且缺少 part2。即空格后面的字符。这里有什么错误?
你应该增加"
你的价值:
var MESSAGE = "part1 part2";
var fName = $("<input type=\"text\" class=\"fieldname\" size=35 disabled=disabled value=\"" + MESSAGE + "\" />" );
否则,您的浏览器会将“part2”解释为新属性,如“class”或“size”。
一项改进可能是使用 jQuery.attr()
函数,因为它会自动转义 HTML 实体,例如"
. 建议这样做,除非您绝对确定您的消息不包含任何"
,<
或>
.
var MESSAGE = "part1 part2";
var fName = $("<input">).attr({
type : "text",
class : "fieldname",
size : "35",
disabled : "disabled",
value : MESSAGE
});
现在你安全了。