jQuery.each()不运行

时间:2012-08-15 10:58:34

标签: jquery count each html

$(function(){
    $(".link").each(function(){
        var spany =$('span').size();
        var word = $('.button').text().length;
        var a = 5;
        if(a > word){
            $("#control").append("small");
        } else {
            $("#control").append("big");
        }
    });
    return false;
});

我遇到了jquery及其each函数的问题。 each没有运行 在我的例子中,我有第二个跨度5个字(大)但第一个跨度4个字(不大)。 我想输出1.span small,2.span big。如何修复我的代码才能获得此代码?

http://jsfiddle.net/GNUUH/

3 个答案:

答案 0 :(得分:2)

试试这个:

$(function(){
    $(".link").each(function(){
        var spany =$(this).find('span').size();
        var word = $(this).find('.button').text().length;
        var a = 5;
        if(a > word){
            $("#control").append("small");
        } else {
            $("#control").append("big");
        }
    });
    return false;
});

我希望这会有所帮助

答案 1 :(得分:1)

span.button的当前选择器将搜索整个文档。使用$(this).find仅在当前.link元素下搜索:

var spany = $(this).find('span').size();
var word = $(this).find('.button').text().length;

jsFiddle

答案 2 :(得分:0)

对于每个循环的每次迭代,您将遍历页面上的每个跨度。

检查此解决方案...... http://jsfiddle.net/GNUUH/7/

相关问题