javascript - 使用变量作为属性但带有空格?

标签 javascript jquery html variables

假设我有一个具有 name 属性的对象,例如:“Woodcutters Hut”。如果我尝试将其分配给按钮属性:

$('#possible_constructions').append("<button name=" + object.name + ">" + object.name + "</button>")

按钮的书写正确的是整个“Woodcutters Hut”,但名称属性仅包含第一个单词“Woodcutters”。小屋在外面显示如下:

<button name="Woodcutters" hut>Woodcutters Hut</button>

无论如何要确保正确分配属性吗?

最佳答案

让 jQuery 为您处理名称值。不要构建字符串。

$("<button></button>", { 
    name: object.name, 
    text: object.name
}).appendTo("#possible_constructions");

但值得注意的是,“Woodcutters Hut”并不是一个合适的名称。您不应在名称值中使用空格。您应该考虑将该值 reshape 为更合适的值 - 也许通过用下划线替换非字母数字字符:

object.name.replace(/[^\w]/g, "_");

这会将“Woodcutters Hut”转换为“Woodcutters_Hut”。

关于javascript - 使用变量作为属性但带有空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26565874/

相关文章:

javascript - 为什么我在本地 node.js/express 服务器的响应中没有收到 JSON 对象?

jquery - WCF 4、JSONP 和 jQuery 导致解析器错误

javascript - 如何使用 jQuery 访问动态创建的 div 的属性

iphone - 图像在 iphone 上变得奇怪的高度

javascript - 如何获取某些单词后的数字?

javascript - 如何使用 knockout 自动从 JSON 加载数组

javascript - "num & 8"、 "num >> 8"和 "num >> 8 & 64"在 javascript 中是什么意思?

javascript - 如何使用 JS 编辑 CSS 变量?

使用 CSS 转义的具有数字 id 的元素的 jQuery 选择器

html - 在单词之间的空白处换行后更改字体大小