正在停止永不结束的追加.jQuery

Stopping never ending append. jQuery

本文关键字:结束 追加 jQuery      更新时间:2023-09-26

我试图设置它,以便它检查是否有另一个变量,如果没有,则添加它。

var item = "<li>Testing</li>";
var hasItem = $(".target-class").has(item).length;
if(hasItem == 0) {$(".target-class").append(item)}

这不起作用,它一直在附加项目。

.has需要一个选择器,而不是HTML:

var item = '<li class="testing">Testing</li>';
var hasItem = $(".target-class").has('li.testing').length;

请阅读文档。

因此,如果您的HTML是:

<div class="target-class"></div>

然后下面的while循环将添加div元素一次,然后停止执行:

var item = "<li class='testing'>Testing</li>";
var targetEl = $(".target-class");
while (!targetEl.has("li.testing").length) {targetEl.append(item);}

http://jsfiddle.net/cssimsek/qdpFJ/

我实际上有

var hasItem = $(".target-class").has(item).length;

搞砸了。它并没有选择我认为它在选择的东西。对于任何刚接触jQuery的人来说,将.remove()添加到选择器的末尾是一个提示。当你删除了你想要选择的内容时,你就知道你做对了。只要移除.remove(),就可以开始了。除了修复.has(项)外,它现在还可以工作。