【问题标题】:jQuery: Hide parent if child contains text number range?jQuery:如果孩子包含文本数字范围,则隐藏父母?
【发布时间】:2014-03-29 04:32:06
【问题描述】:

我使用当前的 jQuery 选择器将 css 应用于 YouTube 上包含某些关键字的任何元素,如下所示:

$( '.feed-item-container:contains("Blah Blah") ') .css( {"display":"none"} );

我的问题是,如何更改它,而不是使用关键字检测,而是为订阅页面上的每个 youtube 提要使用 数字检测范围(已登录)?如果用于显示查看次数的元素在特定元素“.feed-item-container”中,那么该元素(“.feed-item-container”)如何显示每个视频/提要应用 css 隐藏它,但检测其中包含 0 到 300 视图的“.yt-lockup-meta-info”元素的数字范围? p>

需要明确的是,我不需要它来检测关键字和查看次数,只需 删除父元素(按类选择器)如果子元素(按类选择器)包含 1-300 个视图;已经有 jQuery 可以通过关键字隐藏。


我得到的最接近但不正确的:

$( ".feed-item-container:has(.yt-lockup-meta-info > :last-child)" ).slice(1, 300).css( "display", "none" );

过了一会儿,我才意识到为什么它不起作用;从而实现.slice,只选择元素而不选择1-300等数字范围。

我知道这可能是一个复杂的问题,也可能不是一个复杂的问题,但我对 jquery 的了解并没有沿着这条理解路径走。非常感谢任何帮助,但如果可以解决,将不胜感激。这可能会有所帮助:http://jsfiddle.net/fVtaF/7/ + http://jsfiddle.net/eWweU/4/(不起作用)

【问题讨论】:

    标签: javascript jquery css youtube


    【解决方案1】:

    我想知道这个 FIDDLE 作为一个概念是否会有所帮助。

    使用 JS $('#containme').text().indexOf( i ) > -1你可以给 .indexOf 赋值一个变量,并遍历一系列变量来查看你的元素中是否有匹配的数字。

    很多“开销”。我相信还有更优雅的方式。

    【讨论】:

    • 我已经更新并尽力让它发挥最大作用,但没有运气。
    【解决方案2】:

    我不能 100% 确定你在问什么,但如果我理解正确,也许这个小提琴会对你有所帮助:http://jsfiddle.net/eWweU/3/

    它使用 jQuery 来测试 feed-item-container 类的每个孩子,看它是否有一个从 0 到 300 的数字。如果是这样,它将隐藏该 feed-item-container 容器。

    祝你好运。

    【讨论】:

    • 如果它没有选择 .yt-lockup-meta-info > :last-child 作为孩子并且只扫描 1-300 次浏览,那么任何内容甚至父元素 .feed-item-container 的视频内容将被隐藏。它必须检测特定元素中的数字范围,然后隐藏父元素。这是对我正在尝试做的事情的 jsfiddle 的更新(不起作用)jsfiddle.net/eWweU/4
    • 是的,但是 youtube 提要可以显示至少 15 个以上的提要 (.feed-item-container) 更不用说当您滚动和加载更多它可以加载几十个提要。由于未知原因,它似乎也不起作用。它甚至没有隐藏一个提要。
    • 我使用 Jscript Tricks chrome 扩展,我的其余代码可以工作,所以我知道这不是扩展有问题。感谢您为澄清这一点而提供的所有帮助。
    猜你喜欢
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 2012-08-27
    • 1970-01-01
    • 2012-08-27
    • 2013-05-08
    • 1970-01-01
    相关资源
    最近更新 更多