jQuery选择包含最少文本字符数的段落

时间:2014-02-04 20:54:17

标签: javascript jquery

我正在尝试定位至少500个字符的段落。然后使用它们作为选择器,每3个满足此条件的段落插入div.in-between

我知道我们可以使用以下命令来执行页面和单个段落文本字符计数:
文字字符数:$('div.container').text().replace(/[^A-Z]/gi,'').length;
段落数:$('div.container p').text().split(' ').length;

如何使用jQuery实现此目的?

1 个答案:

答案 0 :(得分:2)

您可以使用过滤器来定位至少500个字符的元素 \W正则表达式删除任何与a-z,A-Z,0-9和下划线不匹配的内容。

过滤集合后,您可以使用$.grep获取每个第三个元素,并在每个元素后插入一个div。

var paragraphs = $('p').filter(function() {
    return $(this).text().replace(/\W/g, '').length > 500;
});

var nth3 = $.grep(paragraphs, function(_, index) {
    return (index + 1) % 3 === 0;
})

$(nth3).after('<div class="in-between"></div>');

FIDDLE