缺少空白后的字符-javascript

characters after whitespace missing - javascript

本文关键字:字符 -javascript 空白      更新时间:2023-09-26

我正在做这样的事情:

 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
});

现在你安全了。