Jquery在循环之前停止

时间:2016-07-25 16:28:46

标签: jquery

我正在尝试根据高度调整div字体大小

我使用.each

获取带有“prod-name”类的元素

 $prod_names = new Array();
    $i=0;
    $j=0;

    $(".prod-name").each(function(){
       $prod_names[$i] = $(this);
       $i++;
    });

    for($j=0;$j>=$i;$j++){
        console.log("in for");
    if(($prod_names[$j].height() > 20) && ($prod_names[$j].height() <= 40)){
        console.log("ok");
        $prod_names[$j].css("font-size","0.9em");
    }else if($prod_names[$j].height() > 40){
        $prod_names[$j].css("font-size","0.8em");
    }
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="mostviewed" class="products">
    <h2 class="cat-title">MOST VIEWED</h2>
    <ul>
        <li class="scol25  mcol25 lcol25" >
            <a href="product.php" class="prod-img"><img src="images/products/.jpg" title=""/></a>
            <p class="prod-name">Intel Core I3</p>
            <div class="prices">
                <p id="original-price" class="scol50 mcol50 lcol50 price">&euro;</p>
                <p id="low-price" class="scol50 mcol50 lcol50 price">&euro;</p>
            </div>
            <div class="fa-buttons">
                <a id="morea" class="scol50 mcol50 lcol50 add1"  title="More information" href="product.php"><i class="fa fa-search" aria-hidden="true"></i></a>
                <a id="fava" href="#" class="scol50 mcol50 lcol50 add1" title="Add to favorites"><i class="fa fa-heart" aria-hidden="true" ></i></a>
            </div>
        </li>
    </ul>
</div>

我添加了日志以查看它是否到达循环中的代码并且它不是

注意:实际上我使用的是php,但为了更好地理解我的问题,我将其更改为html

谢谢

2 个答案:

答案 0 :(得分:0)

这里的逻辑存在问题...假设有4个prod-name元素,那么$ i将为4,而$ j为0,因此$j>=$i为false,因此赢了#39 ;进入循环..

我打赌你应该重新考虑这段代码的目的并以更整洁的方式写出来。

答案 1 :(得分:0)

我看到for循环的一个参数是假的......

谢谢,我知道代码是扩展和复杂的,但我是jquery的初学者,随着我的继续,我将使代码更好

谢谢