问答详情
源自:5-6 DOM包裹wrapInner()方法

这里的DOM包裹后的元素,如果一直点击会一直增加!@

请问这个问题如何解决?

提问者:我是上帝 2016-04-27 15:37

个回答

  • ray1208
    2016-07-27 23:44:26
    已采纳

    很简单,把on()改成one(),只执行一次就解绑。

  • ray1208
    2016-07-27 23:49:14

    或者判断:p里面第一个子节点是object就return false,文本节点就执行。

  • NinaMonkey
    2016-07-27 22:51:43

    <script type="text/javascript">

        $(".aaron1").on('click', function() {

            //给所有p元素,增加内部包裹父容器div

            if($('p').html() == "p元素"){

                $('p').wrapInner('<div></div>');

            }else{

                return;

            }

        })

        </script>

    以上代码供参考,可以加一个判断,如果p标签内部是“p元素”,那么久直接返回,不做操作。已经经过证实。

  • 星空下的小孩
    2016-07-10 18:11:34

    可以把on改成one绑定点击事件啊

  • 鄢栋
    2016-06-13 19:29:27

    我也发现了这个问题。同求解


  • NextDay
    2016-04-28 11:40:47

    $(".aaron2").on('click', function() {

            //wrapInner接受一个回调函数

            //每一次遍历this都指向了合集中每一个a元素

            if($("#123").length==0)

            $('a').wrapInner(function() {

                return '<div id="123"></div>'

            })

        })

    ..好吧 我也是菜鸡=。=