0

我有一个 for 循环,并且在其中 - 每次运行时它都应该激活一个函数
,但由于某种原因它(从这里阅读猜测)在函数
完成之前再次运行,因此我只得到一个变量而不是 8 个。

这是我当前的代码:

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

否则你的第二到第八个元素有一个前导空格,当作为函数的参数传递时会导致选择器不正确。

于 2013-10-22T09:43:55.643 回答