gpt4 book ai didi

javascript - JQuery 包含不工作的多个 li

转载 作者:行者123 更新时间:2023-11-28 19:20:52 26 4
gpt4 key购买 nike

我正在尝试使用 $contains 检测某个元素是否已经附加到 DOM 中

var isAlreadyAppend = 函数(键){

    return ($.contains($('#allBellMessageId'), $("#" + key)));
};

var test= function(){
if(!isRepeated('a')){
//Append into DOM
};
if(!isRepeated('b')){
//Append into DOM
};
if(!isRepeated('c')){
//Append into DOM
};
if(!isRepeated('a')){
//Append into DOM
};
}

添加键 a,b,c,a 仍然返回 false, false, false, false。

生成的html代码就是这个

  <li id="bellMessagesId" class="dropdown notifications">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<ul id="allBellMessageId" class="dropdown-menu bellMessage-dropdown-menu">
<div class="col-xs-12">
<li id="a" class="col-xs-12">
<li id="b" class="col-xs-12">
<li id="c" class="col-xs-12">
<li id="a" class="col-xs-12">
</ul>
</li>
<li>

渲染结果是 4 条消息,a,b,c,a。

我做错了什么?

问候。

最佳答案

isRepeated()不返回任何内容,它只是执行。因为它不返回任何内容,所以它会返回 undefined,因此当您检查它时,它会显示 undefined 并评估为 false。所以试试这个:

var isRepeated(key) = function(key){
return $.contains($('#fooElements'), $("#" + key))
};

除此之外,我对 $.contains 不太熟悉,因此您可以尝试以下操作:

var isRepeated(key) = function(key){
return $('#fooElements').find("#" + key).length ? true : false;
};

我一直用它来检查某些东西是否存在,它就像一个魅力。

关于javascript - JQuery 包含不工作的多个 li,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28942541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com