为什么我不能使用变量计数器:eq过滤器将数据附加到无序列表?
例如,代码无效。它没有被更新到无序列表的div中。
$('#list li:eq("+ counter +")').append('<li>' + variable + '<li>');
答案 0 :(得分:2)
正确的语法:
$('#list li:eq(' + counter +')')
您必须使用相同的字符串分隔符,不能将它们混合在同一个字符串中。
更优雅的语法是:
$('#list li').eq(counter)
这样就不需要乱用字符串分隔符了。
答案 1 :(得分:1)
除了Shadow Wizard提到的字符串问题,如果您尝试在与li
相同的级别添加另一个#list li
标记,那么您的代码就不对了。附加,将添加一个孩子:
$('#list li').eq(n).append('<li>' + variable + '</li>')
在第n个LI
标记内添加LI
标记,而不是在第n个LI
标记之后。来自jQuery doc:
.append()方法将指定的内容作为最后一个子项插入 jQuery集合中每个元素的
如果您要执行的操作是在现有LI
标记之后插入新的LI
标记,但在同一级别,则可能会对.after()
方法感兴趣:
$('#list li').eq(n).after('<li>' + variable + '</li>')
请参阅此处http://jsfiddle.net/jfriend00/PHkm4/了解工作示例。