我试图设置它,以便它检查是否有另一个变量,如果没有,则添加它。
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(项)外,它现在还可以工作。