0

私はforループとその内部を取得しました-実行するたびに関数をアクティブにする必要があります
が、何らかの理由で(ここを読んで推測)関数
が完了する前に再度実行されるため、8ではなく1つの変数しか取得しません.

これが私の現在のコードです:

jQuery(function($){

    var elements    = 'linkCount, domainCount, ipCount, edugovCount, cclassCount, citationCount, trustCount, pagesCount';
    var elearr      = elements.split(",");

    for(var i=0;i<elearr.length;i++) {
        var currentElement = elearr[i]+'[]';
        // OK: COUNT = 8 -> console.log('i count: '+i); 
        // ERROR: RETURN ONE VAR -> console.log('currentElement: '+currentElement); 
        highlight_biggestval(currentElement)
    }

    function highlight_biggestval(currentElement) {
        // HIGHLIGHT BIGGEST INPUT FIELD
        var higesht_val     = 0;
        var higesht_val_id  = '';
        $("input[name='"+currentElement+"']").each(function() {

            var current_val = parseInt(this.value);

            if(higesht_val < this.value){
                higesht_val     = current_val;
                higesht_val_id  = 'input#'+this.id;
            }

        });
        $(higesht_val_id).addClass('bgYellow');
    }

})

これを理解するのに助けが必要です...

4

1 に答える 1

1

この行:

var elearr      = elements.split(",");

代わりに次のようにする必要があります。

var elearr      = elements.split(", "); // note the space

そうしないと、2 番目から 8 番目の要素の先頭にスペースがあり、関数の引数として渡されたときにセレクタが正しくなくなります。

于 2013-10-22T09:43:55.643 に答える