【问题标题】:jquery Case Insensitive find method by datajquery不区分大小写的数据查找方法
【发布时间】:2015-06-02 10:21:08
【问题描述】:

小提琴:http://jsfiddle.net/y790z6zq/

我想使用 jquery 的 find 方法根据数据属性进行不区分大小写的搜索。

这是 HTML:

    <body>
    <div class="main">
     <div> 
        <p data-Col="MyVal"> hkjhkjh</p>
     </div>
     <div  data-Col="MyVAl"> some more text
     </div>        
    </div>
    <div class="main">
        <div  data-Col="myval"> some more text
         </div>        
        <div > 
            <p data-Col="myval"> some more nesting</p>
         </div>        
    </div>
</body>

&脚本:

var searchValue ="myval";

$(".main").find("[data-Col='" + searchValue + "']").css("background-color","red");

我可以将颜色设置为最后一个 div(大小写匹配),但其他的没有被选中。

请帮忙.. 提前谢谢..

编辑: 我也尝试了下面的脚本,但它没有工作..

$(".main").filter(function() {    
    return this.data("Col").toLowerCase() == searchValue.toLowerCase();
}).css("background-color","red");

【问题讨论】:

  • 你可以使用$(".main").find("[data-Col='" + searchValue + "']").last().css("background-color","red");
  • @AmmarCSE 请检查编辑...
  • 你需要做 $(".main div").filter(....

标签: jquery html


【解决方案1】:

您最近的尝试即将完成,只有当您真的想过滤其中的段落时,您才尝试过滤 .main,首先找到它们,然后过滤它们。

还尝试在 DOM 元素上调用 .data(),此时您应该首先从中创建一个 jQuery 对象:

$(".main").find('[data-Col]').filter(function() {
    return $(this).attr('data-Col').toLowerCase() == searchValue.toLowerCase();
}).css("background-color","red");

JSFiddle

没有不区分大小写的属性选择器。 (还)。

【讨论】:

    【解决方案2】:

    这对我有用

    var searchValue ="myval";
    
    $(".main [data-Col]").filter(function() {
        return $(this).attr("data-Col").toLowerCase() == searchValue.toLowerCase();
    }).css("background-color","red");
    

    【讨论】:

      【解决方案3】:

      您可以使用过滤器来实现这一点。

      $('.main').find('[data-col]').filter(function() {
          return $(this).attr('data-col').toLowerCase().indexOf('myval') > -1;
      });
      

      如果您确定值常量,例如在选择器中使用 OR 运算符的另一种方法,例如

      $('[data-col="myval"],[data-col="myVAl"], [data-col="MYVAL"]');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-05
        • 1970-01-01
        • 1970-01-01
        • 2014-08-13
        • 2010-12-29
        相关资源
        最近更新 更多