Jquery - найти элемент DOM с большинством символов внутри

0

У меня есть несколько абзацев, и мне нужно найти тот, у которого есть большинство персонажей внутри. Я новичок в Javascript, и я не могу понять, как его выбрать. Я могу найти количество символов, используя.each() и.length(), но я как добавить addClass к одному с большей частью?

заранее спасибо

Теги:
find
element

3 ответа

2
Лучший ответ

сортировать их по количеству символов, а последний в коллекции будет с наибольшим количеством символов:

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

FIDDLE

1

Предполагая, что у вас есть все в теле, и все они заключены в теги <p> вы могли бы сделать:

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

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

});

   $(longestElement).addClass('myClass');
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/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню