【问题标题】:Selecting elements with matching text keywords, ignoring capitals (jQuery) [duplicate]选择具有匹配文本关键字的元素,忽略大写字母(jQuery)[重复]
【发布时间】:2016-12-24 20:57:52
【问题描述】:

我想我会与社区分享我在定位包含文本关键字但忽略大写字母的元素上的一些独特的旋转,然后在元素上添加一点 CSS。我并不是每个人都宣称我使用的代码是完美的,但是如果你看到改进,请随意,享受。

【问题讨论】:

  • 这不是您在 Stack Overflow 分享知识的方式。 (但您也许可以调整Documentation 的答案,也许。).. 根据faq,自我回答的问题仍然需要是一个真正的问题,而不是重复或通用的,“我想分享一些代码”。 ... 想要回馈的荣誉,但这不是在这里做的方式。
  • 好的,非常感谢:)

标签: javascript jquery css greasemonkey


【解决方案1】:

下面是代码:

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

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);
}

【讨论】:

  • “尽量不要碰这个”部分有什么关系? (我知道它做了什么,只是不知道为什么它与手头的主题相关。)
  • 与前面的部分相比,没有必要修改
  • 我的意思是,你为什么还要在答案中显示该代码?它与问题的主题无关,答案中的其他代码也不会使用它。
猜你喜欢
  • 2021-01-29
  • 2016-06-06
  • 1970-01-01
  • 1970-01-01
  • 2019-08-29
  • 2016-09-02
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
相关资源
最近更新 更多