我有几个段落,我需要找到里面有最多字符的那个。我是Javascript的新手,我无法弄清楚如何选择那个。我可以通过使用.each()和.length()查找字符数,但是我如何将addClass添加到最多的那个?
提前致谢
答案 0 :(得分:2)
按字符数对它们进行排序,集合中的最后一个将是具有最多字符的那个:
var longest = $('p').sort(function(a, b) {
return $(a).text().length - $(b).text().length;
}).last();
答案 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元素。并将课程添加到最长的课程。