我可以使用JS或JQuery检查列表中是否包含特定值?

我的代码:

HTML:

  <ul class="list-group list-group-flush" id="liste">
  </ul>


JavaScript:

<script type="text/javascript">
  document.getElementById('Add').onclick = function() {
    var Nutzer = document.getElementById('Suche').value;
    var Liste = document.getElementById('liste');
    if (! $("li:has(Test)")) {
      var entry = document.createElement('li');
      entry.setAttribute( 'class', 'list-group-item' );
      entry.appendChild(document.createTextNode(Nutzer));
      Liste.appendChild(entry);
    }
}
</script>


我只找到带有li:contains的解决方案,但这不是我想要的。

最佳答案

在li元素列表上使用Array.prototype.some



console.log([...$("#liste li")].some(el => $(el).text() === "Test"));
console.log([...$("#liste li")].some(el => $(el).text() === "Anything Else"));

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="list-group list-group-flush" id="liste">
  <li>Test</li>
</ul>

08-08 04:27