[英]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()
演示: 小提琴
干得好,
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.