0

私はこのようなコードを持っています:

$(this).each(function() {
    parse('button', $(this));
});

each()1行に最小化することは可能ですか?

このコードは機能しません:

$(this).each(parse('button', $(this)));
4

3 に答える 3

1

これだけ:

parse('button', $(this));
//----------------^^^^----your selector group either with classname or tagName

アップデート:

次の html があるかどうかを確認します。

<a href='#'>test link</a><br/>
<a href='#'>test link</a><br/>
<a href='#'>test link</a><br/>
<a href='#'>test link</a><br/>

これはjQueryです:

function parseIt(b, a){
  return $(a).text(b);
}

$(function(){
   parseIt('New Text for Buttons', $('a'));
});

結果は次のようになります: http://jsfiddle.net/svwF9/

<a href='#'>New Text for Buttons</a><br/>
<a href='#'>New Text for Buttons</a><br/>
<a href='#'>New Text for Buttons</a><br/>
<a href='#'>New Text for Buttons</a><br/>
于 2013-02-18T10:05:24.227 に答える
0

Javascriptは行ベースではないため、1行に複数のステートメントを含めることができます。ただし、関数参照を関数呼び出しに置き換えることはできませんが、コードのその部分は必要です。

$(this).each(function() { parse('button', $(this)); });
于 2013-02-18T10:01:56.837 に答える
0

それがそれほど問題である場合は、のコールバックのparse引数に対応するように変更してみませんか?.each()このようなもの。

$(this).each(parse);

function parse(index, element) {
    var e = $(element);
    var type = e.prop('tagName').toLower();

    if(type == 'button') { 
        // parse button
    }
}
于 2013-02-18T10:09:12.023 に答える