为什么这段代码不起作用?意思是什么都没有显示在ul标签中。
$("#server").each(function()
{
var textValue = $(this).text();
$('#list li').eq(counter).append('<li>' + textValue + '</li>'); // <-- not working
$('#list li').eq(counter).insertAfter('<li>' + textValue + '</li>'); // <-- or not working
$('#list')append('<li>' + textValue + '</li>'); // <-- or working
});
<div>
<ul id="list"></ul>
</div>
答案 0 :(得分:2)
#server
只能匹配一个元素。counter
未定义。#list
不包含任何内容,因此#list li
与任何内容都不匹配。append
之前的一段时间。答案 1 :(得分:0)
我看到两个问题。
$('#list li')
,<li>
无法解决任何问题。它应该是ul
而不是。eq
的特定索引,您可能希望将当前索引传递到仿函数中,如下所示:$('#server').each(function(counter){...
- 但可能counter
来自其他地方,你发布的内容并不清楚。此致 分贝
答案 2 :(得分:0)
我认为你对这个主题的完整答案是here in your previous question(在我的回答中阅读你对问题的评论)。
我认为你想要jQuery的方法.after()
而不是.insertAfter()
。完整的工作示例,包括jsFiddle here。
$('#list li').eq(counter).after('<li>' + textValue + '</li>');