zoukankan      html  css  js  c++  java
  • [前端技术]利用 try...catch 来跳出JQuery.each()

    JQuery.each 遍历一个集合的时候,有时候我们不需要完全遍历,在找出需要的数据的时候,想跳出 JQuery.each 这个时候,问题出现了。

    常规思维方式:

        <form id="form1" runat="server">
        <div>
            <p>1</p>
            <p>2</p>
            <p>3</p>
            <p>4</p>
            <p>5</p>
            <p>6</p>
            <p>7</p>
            <p>8</p>
        </div>
        </form>
        <script type="text/javascript">
            $(function () {
                $('p').each(function () {
                    if ($(this).text() == "2") {
                        $(this).text('0');
    
                        /* 这里的 return 语句,和 continue 语句一样,跳出了本次循环,没有达到预期的目的。 */
                        return;
                    } else {
                        alert($(this).text());
                    }
                });
            });
        </script>

    哈哈,常规思维方式写出的代码,return 语句,尽然做起了 containue 语句的事情,新手这里可能就迷糊了,一时半会反应不过来。

    修改后的代码:

        <form id="form1" runat="server">
        <div>
            <p>1</p>
            <p>2</p>
            <p>3</p>
            <p>4</p>
            <p>5</p>
            <p>6</p>
            <p>7</p>
            <p>8</p>
        </div>
        </form>
        <script type="text/javascript">
            $(function () {
                try {
                    $('p').each(function () {
                        if ($(this).text() == "2") {
                            $(this).text('0');
    
                            /* 这里的 return 语句,和 continue 语句一样,跳出了本次循环,没有达到预期的目的。 */
                            /* return; */
                            throw 'someError';
                        } else {
                            alert($(this).text());
                        }
                    });
                } catch (err) {
                    if (err == 'someError') {
                        return;
                    }
                }
            });
        </script>

    结尾语:这里利用了 try...catch 语句,来跳出 JQuery.each 循环,可以看成是一个小技巧,或者娱乐一下吧,实际项目中还是要根据情况而定。

  • 相关阅读:
    wget(转)
    852. Peak Index in a Mountain Array
    617. Merge Two Binary Trees
    814. Binary Tree Pruning
    657. Judge Route Circle
    861. Score After Flipping Matrix
    832. Flipping an Image
    461. Hamming Distance
    654. Maximum Binary Tree
    804. Unique Morse Code Words
  • 原文地址:https://www.cnblogs.com/JavCof/p/2496117.html
Copyright © 2011-2022 走看看