我通过创建html字符串来建立一行以使用jQuery插入表中,即
var row = ""; row += "<tr>"; row += "<td>Name</td>"; row += "<td><input value='"+data.name+"'/></td>"; row += "</tr>";
data.name是从ajax调用返回的字符串,可以包含任何字符。如果包含单引号,'它将通过定义属性值的结尾来破坏HTML。
data.name
'
如何确保在浏览器中正确显示字符串?
您只需要用'等效的HTML实体字符代码交换任何字符:
data.name.replace(/'/g, "'");
另外,您可以使用jQuery的DOM操作方法创建整个内容:
var row = $("<tr>").append("<td>Name</td><td></td>"); $("<input>", { value: data.name }).appendTo(row.children("td:eq(1)"));