鉴于我有一个名称属性的对象,比如说:' Woodcutters Hut'。如果我尝试将其分配给按钮属性:
$('#possible_constructions').append("<button name=" + object.name + ">" + object.name + "</button>")
按钮编写正确的是整个&#39; Woodcutters Hut&#39;但是,name属性只包含第一个单词&#39; Woodcutters&#39;。和小屋在外面显示如下:
<button name="Woodcutters" hut>Woodcutters Hut</button>
无论如何要确保正确分配属性?
答案 0 :(得分:1)
让jQuery为您处理名称值。不要构建字符串。
$("<button></button>", {
name: object.name,
text: object.name
}).appendTo("#possible_constructions");
虽然重要的是要注意“Woodcutters Hut”不是一个合适的名字。您不应该在名称值中使用空格。您应该考虑考虑将该值重新塑造成更合适的值 - 可能通过用下划线替换非字母数字字符:
object.name.replace(/[^\w]/g, "_");
这会将“Woodcutters Hut”转换为“Woodcutters_Hut”。
答案 1 :(得分:0)
试试这个,如果有效
$('#possible_constructions').append("<button name='" + object.name + "'>" + object.name + "</button>")