0
$(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実行されません。
私の例では、2 番目のスパン 5 ワード (大きい) がありますが、最初のスパン 4 ワード (大きくない) があります。1.スパン小、2.スパン大を出力したい。これを取得するためにコードを修正するにはどうすればよいですか?

http://jsfiddle.net/GNUUH/

4

3 に答える 3

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;
});

これが役立つことを願っています

于 2012-08-15T11:02:26.977 に答える
1

spanおよびの現在のセレクターは.button、ドキュメント全体を検索します。現在の要素$(this).findの下のみを検索するために使用します。.link

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

jsフィドル

于 2012-08-15T11:03:32.017 に答える
0

各ループの反復ごとに、ページ上のすべてのスパンを通過します。

このソリューションをチェックしてください... http://jsfiddle.net/GNUUH/7/

于 2012-08-15T11:05:50.080 に答える