比较列表项中的字符串长度

时间:2014-01-29 10:46:51

标签: jquery

请帮我解决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");
    }
     });

4 个答案:

答案 0 :(得分:1)

检查每个li的文本长度

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

答案 1 :(得分:0)

以下内容应该有效。把你的长度检查放在循环中:

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

答案 2 :(得分:0)

使用:

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

答案 3 :(得分:0)

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

以上代码将使用整个li的文字(即mylist li中的字符总数)。因此它不起作用。

因此请将其保留在每个方法中以检查单个li

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