Jquery - 查找内部包含大多数字符的DOM元素

时间:2014-01-05 17:29:13

标签: jquery find element

我有几个段落,我需要找到里面有最多字符的那个。我是Javascript的新手,我无法弄清楚如何选择那个。我可以通过使用.each()和.length()查找字符数,但是我如何将addClass添加到最多的那个?

提前致谢

3 个答案:

答案 0 :(得分:2)

按字符数对它们进行排序,集合中的最后一个将是具有最多字符的那个:

var longest = $('p').sort(function(a, b) {
    return $(a).text().length - $(b).text().length;
}).last();

FIDDLE

答案 1 :(得分:1)

假设你将它们全部放在体内,并且它们都包含在<p>标签中,你可以这样做:

var longestLength=0, longestElement;
$("body p").each(function(){

    if($(this).html().length > longestLength)
    {
        lonestLength = $(this).html().length;
        longestElement = this;
    }

});

   $(longestElement).addClass('myClass');

答案 2 :(得分:0)

var $most = $("p").first();

$("p").each(function(){
    if($most != null && $(this).text().length > $most.text().length){
        $most = $(this);
    }
});

$most.addClass("longest");

有了这个;你可以只统计字符,而不是html元素。并将课程添加到最长的课程。

在此测试:http://jsfiddle.net/s9N5g/