繁体   English   中英

jQuery:目标div包含2个以上的单词

[英]jquery: target div containing more than 2 words

我试图找出是否有可能将包含两个以上单词的div作为目标并隐藏它们。
例如这样的一组div:

<div class="wrap">
    <div>two words</div>
    <div>two words</div>
    <div>three words no</div>
    <div>two words</div>
    <div>two words</div>
    <div>three words no</div>
    <div>two words</div>
</div>

进行代码测试的jsFiddle: http : //jsfiddle.net/x9q8f/1/

理想情况下,我尝试定位包含两个以上单词的任何.wrap div ,可能是3、4、5个单词等,我只想显示包含2的div ...如果这完全可行? 任何建议将不胜感激!

用单词分隔符分割文本并计算零件数

$('.wrap div').filter(function () {
    return $.trim($(this).text()).split(/\W/).length > 2
}).hide()

演示: 小提琴

使用拆分功能。 获取所有的div,并检查是否

.innerHTML.split(' ').length >=2

演示小提琴

干得好,

var divs = $(".wrap div");
$.each(divs, function(key,val){
    if ($.trim($(val).text()).split(" ").length > 2) {
        $(val).hide();
    }
});

演示

更新!

您可以使用$.filter().split()

var $divsWithMoreThanTwoWords = $('div').filter(function(){
  return $.trim($(this).text()).split(' ') > 2;
});

$divsWithMoreThanTwoWords.addClass('wordy').hide();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM