2014-01-29 3 views
1

, пожалуйста, помогите мне с простой проблемой в jQuery. У меня есть загрузка элементов списка на странице, и мне нужно сравнить длину строк внутри них. Если они больше 100 символов, мне нужно добавить класс в «li», иначе ничего не произойдет. Мой код до сих пор:Сравните длину строк внутри элементов списка

<ul id="mylist"> 
    <li>This is a string with more than 100 characters in it. This is a string with more    than 100 characters in it.</li> 
    <li>This is a string with less than 100</li> 
</ul> 

    var len = $("#mylist li").text().length; 
    $("#mylist li").each(function() { 
    if (len > 100) { 
      $(this).addClass("test"); 
    } 
    }); 

ответ

0

Нечто подобное должно работать. Положите вашу проверку длины внутри цикла:

 
$("#mylist li").each(function(e,el) { 
    var intLen = $(el).text().length; 
    if (intLen > 100) { 
      $(this).addClass("test"); 
    } 
}); 
+0

Спасибо alex, это тоже работает! – madameFerry

1

Проверить длину текста каждого литий как этот

$('#mylist li').each(function() { 
    if ($(this).text().length > 100) { 
     $(this).addClass("test"); 
    } 
}); 
+1

спасибо anton, это работает – madameFerry

0

использования:

$("#mylist li").each(function() { 
    if ($(this).text().length> 100) { 
     $(this).addClass("test"); 
    } 
}); 
+2

благодарит Milind, это также работает – madameFerry

0
var len = $("#mylist li").text().length; 

Приведенный выше код сделает использование всего li текст (т. е. общее количество символов в пределах mylist li 's). Следовательно, он не работает.

Так что держите его внутри каждого метода, чтобы проверить индивидуальность li s.

$("#mylist li").each(function() { 
    if ($(this).text().length > 100) { //individual li 
      $(this).addClass("test"); 
    } 
+1

О, я вижу, спасибо за разъяснение praveen – madameFerry

+1

Все они были правильными ответами, но я принял Правэйн, потому что он сказал мне, где моя ошибка. Оценил все ответы ... – madameFerry

Смежные вопросы