2011-06-20 28 views
1

我希望我的措辞正确。我使用jQuery函数根据文本的长度在不同跨度内调整文本大小。到目前为止这样好,但它总计所有的价值,我需要它来单独检查它们,并将调整规则基于最长的价值。问题在于所讨论的跨度是用for循环呈现的,所以难怪它是合并值。一次显示这些跨度不会超过三个。jQuery .text()。length()与for-loop一起使用

任何人都可以帮忙吗?

<script type="text/javascript"> 
var $quote = $(".check_in_footer .last_check.units"); 
var $numWords = $quote.text().length; 

jQuery(document).ready(function($) { 

    alert($numWords); 

    $(function() { 
     if (($numWords >= 1) && ($numWords < 6)) { 
      $quote.css("font-size", "400%"); 
     } 
     else if (($numWords >= 7) && ($numWords < 8)) { 
      $quote.css("font-size", "600%"); 
     } 
     else { 
      $quote.css("color", "#ff0000"); 
     } 

    }); 
}); 

+2

其中是for循环有问题吗? – Jason

+0

我没有发布它,因为我觉得它与我的问题无关,我只是在我如何将我的jQuery函数应用于循环元素之后。 – geraddavis

回答

4
$(".check_in_footer .last_check.units").each(function() { 
    var $numWords = $(this).text().length; 

    if (($numWords >= 1) && ($numWords < 6)) { 
     $(this).css("font-size", "400%"); 
    } 
    else if (($numWords >= 7) && ($numWords < 8)) { 
     $(this).css("font-size", "600%"); 
    } 
    else { 
     $(this).css("color", "#ff0000"); 
    } 

    }); 

而且你需要删除前两行代码(右下 开幕的脚本。我没有检查代码的其余部分,只是实现的循环逻辑。

+0

非常感谢AR。 – geraddavis