我编写了一个JS程序,如果我使用以下代码行,它可以正常工作:
li = $("<li data-role='collapsible' data-iconpos='right' data-inset='false'></li>");
但如果我将上述行更改为如下,则会停止工作:
li = $('<li/>, {
data-role: 'collapsible'
data-iconpos: 'right'
data-shadow: 'false'
data-corners: 'false'
});
这里有什么问题?
编辑 - 失败的其他代码:
a = $('<a/>', {
href: fSelectedContent[i].hPageURL,
click: function () { mSelectCount(fSelectedContent[i].rContentID);},
html: fSelectedContent[i].rContentName
});
答案 0 :(得分:6)
在JavaScript对象文字中,属性名称必须是标识符或字符串。
标识符不能包含-
字符,因此您必须使用字符串。
引用你的房产名称。
每个键:值对之间还需要一个逗号。
您还需要使用引号来结束<li/>
的字符串。
li = $('<li/>', {
"data-role": 'collapsible',
"data-iconpos": 'right',
"data-shadow": 'false',
"data-corners": 'false'
});
答案 1 :(得分:2)
另一种方法是使用:
$('<li/>').attr({
"data-role": 'collapsible',
"data-iconpos": 'right',
"data-shadow": false,
"data-corners": false
});
但我猜每个都是自己的:)。
答案 2 :(得分:0)
对于字符串文字,如果你想让它们滚动到下一行,你需要在该行的末尾使用反斜杠。
var something = 'line 1 \
line2';
在你的情况下,你只是在<li/>
之后错过了一个结束语。
$('<li/>', {
(并且,请注意Quentin上面提到的使用正确的对象文字键的建议。如果你有-
或其他保留字符,你需要引用它们。+ 1 Quentin。)