如果子元素包含字符串

时间:2015-05-06 10:54:13

标签: javascript jquery html css

我有一个网站,可以汇总来自YouTube的视频片段。但有时剪辑会显示为私有。如果班级display:none;包含字符串" 私有视频"?div通过jQuery设置a.colorbox.cboxElement p>

我在单div之前做了类似的事情,之后添加了一个我用来删除div的额外类。我不确定嵌套时该做什么:

$( "#div:contains('text')" ).addClass( "newclass" );

HTML:

<li class="feed-item">
    <div class="thumbnail-excerpt wprss-feed-thumbnail sgvtagged">
        <div class="SGVthumb SGVthumb-0" data-title="SKateFlix" data-desc="The Amazing SkateFlix" data-type="yt" style="width:280px;height:210px;float:left;padding-right:px" data-media="SGVvideo" data-thumb="http://www.youtube.com/embed/2A7vCq8BmQQ" data-yid="2A7vCq8BmQQ" data-image="0" data-video="http://www.youtube.com/embed/2A7vCq8BmQQ?wmode=opaque&amp;autoplay=1&amp;rel=0"><img height="210" width="280" src="http://skateflix.se/wp-content/uploads/cache/remote/www-gstatic-com/3140846889.png"><img class="mpover" src="http://skateflix.se/wp-content/plugins/sgvideo/img/ytp.png" style="left:40px;top:40px"></div>
    </div>
    <div class="source-date"><span class="feed-source">VANS </span></div>
    <a class="datum">onsdag, maj 6</a>
    <a class="colorbox cboxElement" href="http://www.youtube.com/embed/2A7vCq8BmQQ">Private video</a>
    <div class="colorboxexcerpt" href="http://www.youtube.com/embed/2A7vCq8BmQQ">...</div>
</li>

3 个答案:

答案 0 :(得分:2)

您可以将:has:contains合并:

$( ".feed-item:has(a.cboxElement:contains('Private video'))" ).hide();

此示例包含一个私有视频和一个公开视频:

JSFiddle: http://jsfiddle.net/TrueBlueAussie/7vramkem/

答案 1 :(得分:0)

我认为你可以删除锚元素的li祖先

$( "a.cboxElement:contains('text')" ).closest('.feed-item').hide();

演示:Fiddle

答案 2 :(得分:0)

    $('.feed-item').each(function(){
        if($(this).find('.cboxElement').text() === "Private Video"){
            $(this).addClass( "newclass" );
        }
    });

与您何时或如何进行检查无关,此if()应该完成工作