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

时间:2013-12-20 00:17:20

标签: javascript jquery html css

我试图找出是否可以定位一个包含2个以上单词的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/

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

4 个答案:

答案 0 :(得分:2)

使用单词分隔符拆分文本并计算零件数量

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

演示:Fiddle

答案 1 :(得分:2)

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

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

演示Fiddle

答案 2 :(得分:0)

你走了,

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

Demo

已更新!

答案 3 :(得分:0)

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

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

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