检查<灯>上是否已经存在值标记

Check if a value already exists on a <li> tag with jQuery

本文关键字:存在 检查 是否      更新时间:2023-09-26

我需要知道与jQuery,如果一个特定的值是在<li>标签上的<ul>与特定的标签:

<ul id="timeline">
<li>MyValue</li>
<li>MySecondValue</li>
</ul>

我如何用jQuery检查,如果例如,MySecondvalue,已经在timeline id的<ul>上?谢谢!

if ( $('ul li:contains("MySecondValue")').length ) {
    //exists
}
$("ul li").filter(function() {
    return $(this).text() == "MySecondValue";
}).length;

如果该表达式返回0,则它不在列表中。

做如下操作:

$('ul li').each(function(){ 
     if($(this).text()=='MySecondvalue') alert('already exists');
}

不太像jquery,但取决于要过滤的元素数量,这可能是最高效的方式:

function alreadyInTimeline(text) {
    return ($('#timeline').html().match(new RegExp(''>(' + text + ')'<')) !== null);
}
alert(alreadyInTimeline('MyValue'));

cf。到目前为止,这里给出的答案在相当小的时间轴上的性能比较

编辑:忽略这一点,我刚刚更新了jsperf测试,为所有情况使用相同的选择器,结果证明我错了。