У меня есть несколько абзацев, и мне нужно найти тот, у которого есть большинство персонажей внутри. Я новичок в Javascript, и я не могу понять, как его выбрать. Я могу найти количество символов, используя.each() и.length(), но я как добавить addClass к одному с большей частью?
заранее спасибо
сортировать их по количеству символов, а последний в коллекции будет с наибольшим количеством символов:
var longest = $('p').sort(function(a, b) {
return $(a).text().length - $(b).text().length;
}).last();
Предполагая, что у вас есть все в теле, и все они заключены в теги <p>
вы могли бы сделать:
var longestLength=0, longestElement;
$("body p").each(function(){
if($(this).html().length > longestLength)
{
lonestLength = $(this).html().length;
longestElement = this;
}
});
$(longestElement).addClass('myClass');
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/