我尝试设置它以便检查它是否有另一个变量,如果没有,则添加它。
var item = "<li>Testing</li>";
var hasItem = $(".target-class").has(item).length;
if(hasItem == 0) {$(".target-class").append(item)}
这不起作用,它会不断追加项目。
答案 0 :(得分:1)
.has
需要一个选择器,而不是HTML:
var item = '<li class="testing">Testing</li>';
var hasItem = $(".target-class").has('li.testing').length;
请阅读documentation。
答案 1 :(得分:0)
所以,如果你的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);}
答案 2 :(得分:0)
我实际上已经
了var hasItem = $(".target-class").has(item).length;
搞砸了。它没有选择我认为它选择的东西。作为jQuery新手的提示,将.remove()添加到选择器的末尾。当您准确删除想要选择的内容时,您就知道自己拥有它。只需删除.remove()就可以了。
随着修复.has(项目),它现在有效。