代码之家  ›  专栏  ›  技术社区  ›  Pepe

检查“data”属性是否包含输入值的一部分(jQuery)

  •  0
  • Pepe  · 技术社区  · 1 年前

    "data-content" 包含 完成 单词

    var input = "TestText123";
    var found = $("#list").find(".box[data-name='" + input + "']").addClass("found");
    

    正确的部分 其中(至少5个字符)。

    有趣的是,如果我不使用“数据”方法(但我需要它),这将起作用。

    var found = $("#list").find(".box:contains('" + input + "')").addClass("found");
    

    如何像我需要的那样修改jQuery中的“data”方法?

    1 回复  |  直到 1 年前
        1
  •  0
  •   trincot    1 年前

    在等号前添加星号: [data-name*=...]

    旁注:的论点 addClass 不应该有点,所以 addClass("found")

    var input = "TestText123";
    var found = $("#list").find(".box[data-name*='" + input + "']").addClass("found");
    .found { background: yellow }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    
    <ul id="list">
        <li class ="box" data-name="WhatTestText12345">should match</li>
    </ul>