each()外,怎么让console只执行一次

   <div id="d1">

        <div></div>

        <div></div>

        <div class="d2"></div>

        <div class="d2"></div>

    </div>

    <button>点击</button>

    <script src="jquery-1.10.1.min.js" type="text/javascript" charset="utf-8"></script>

    <script type="text/javascript">

        $(function(){

            $("button").click(function(){

                var arr=[];

                $("#d1 .d2").each(function(){

                    arr.push(this.index());

                })

                console.log(arr)

            })

        })

    </script>


慕桂英3389331
浏览 367回答 1
1回答

qq_花开花谢_0

设置一个flag来标记console有没有输出过即可:<script type="text/javascript">&nbsp; $(function(){&nbsp; &nbsp; let flag = true;&nbsp; &nbsp; $("button").click(function(){&nbsp; &nbsp; &nbsp; var arr=[];&nbsp; &nbsp; &nbsp; $("#d1 .d2").each(function(){&nbsp; &nbsp; &nbsp; &nbsp; arr.push(1);&nbsp; &nbsp; &nbsp; })&nbsp; &nbsp; &nbsp; if (flag) {&nbsp; &nbsp; &nbsp; &nbsp; console.log(arr);&nbsp; &nbsp; &nbsp; &nbsp; flag = false;&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; });&nbsp; });</script>你试试呢,希望能帮助到你。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript