问答详情
源自:6-10 jQuery遍历之each()

jquery遍历之each()

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <style>
    .left {
        width: auto;
        height: 150px;
    }
    
    .left div {
        width: 150px;
        height: 120px;
        padding: 5px;
        margin: 5px;
        float: left;
        background: #bbffaa;
        border: 1px solid #ccc;
    }
    </style>
    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
    <h2>each方法</h2>
    <div class="left first-div">
        <div class="div">
            <ul>
                <li>list item 1</li>
                <li>list item 2</li>
                <li>list item 3</li>
            </ul>
        </div>
        <div class="div">
            <ul>
                <li>list item 4</li>
                <li>list item 5</li>
                <li>list item 6</li>
            </ul>
        </div>
    </div>

    <br/>
    <button>点击:each方法遍历元素</button>
    <button>点击:each方法回调判断</button>
    <script type="text/javascript">
    $("button:first").click(function() {
        //遍历所有的li
        //修改每个li内的字体颜色
        $("li").each(function(index, element) {
            $(this).css('color','red')
        })

    })
    </script>
    <script type="text/javascript">
    $("button:last").click(function() {
        //遍历所有的li
        //修改偶数li内的字体颜色
        $("li").each(function(index, element) {
            if (index % 2) {
                $(this).css('color','blue')
            }
        })
    })
    </script>
</body>

</html>

$("li").css('color','red')   也可以将li颜色都变为红色,但为什么要用$("li").each(function(index,element){$(this).css('color','red')})呢?  还是说两个都行,关键应用是下面那个偶数行的应用?

提问者:续写不尽的未来3319689 2016-11-05 19:18

个回答

  • 小奇爱吐槽
    2016-11-05 22:22:20
    已采纳

    是的,老师只是用这个例子来表示each的用法,实际使用中能用.css解决的事情自然不会用.each。的确如你所说,偶数行的应用是这个用法的关键。说白了就是当集合中存在需要不同处理的对象的时候,就需要用到.each了。

  • 慕移动9181930
    2022-03-23 00:26:04

    俺是想知道没有出现乱码的原因。。。前面的操作跟老湿的一样,按理我也应该出现乱码才对namevalue,