选择具有匹配文本关键字的元素,忽略大写字母(jQuery)

Selecting elements with matching text keywords, ignoring capitals (jQuery)

本文关键字:大写字母 jQuery 元素 关键字 文本 选择      更新时间:2023-09-26

我认为我应该与社区分享我的一些独特的想法,即定位包含文本关键字的元素,但忽略大写字母,然后在元素中添加一些CSS。我并不总是宣称我使用的代码是完美的,但是如果你看到改进,请放心,享受。

代码如下:

这部分基本上是说忽略大写字母:

jQuery.expr[':'].contains = function(a, i, m) {
  return jQuery(a).text().toUpperCase()
      .indexOf(m[3].toUpperCase()) >= 0;
};

这部分基本上是根据关键字选择元素,也应用了一些CSS:

var array1 = ['trump', 'blah', 'hillary', 'blah'];
$(array1).each(function () {
    $(".yt-shelf-grid-item:contains(" + this + ")").css({"opacity":"1","filter":"grayscale(100%) brightness(30%) contrast(77%)"});
});

尽量不要碰这个

function addJQuery(callback) {
    var script = document.createElement("script");
    script.setAttribute("src", "https://code.jquery.com/jquery-2.0.3.min.js");
    script.addEventListener('load', function() {
        var script = document.createElement("script");
        script.textContent = "window.jQQ=jQuery.noConflict(true);(" + callback.toString() + ")();";
        document.body.appendChild(script);
    }, false);
    document.body.appendChild(script);
}