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

来源:5-6 DOM包裹wrapInner()方法

我是上帝

2016-04-27 15:37

请问这个问题如何解决?

写回答 关注

6回答

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

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

    我是上帝

    非常感谢!

    2016-12-08 04:29:40

    共 1 条回复 >

  • 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>'

            })

        })

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

    清水3201... 回复清水3201...

    上面错了 应该是 $(".aaron2").on('click', function() { //wrapInner接受一个回调函数 //每一次遍历this都指向了合集中每一个a元素 $('a').wrapInner(function() { if($("#123").length) return; '<div id="123"></div>' }) })

    2016-08-11 16:55:46

    共 2 条回复 >

jQuery基础(二)—DOM篇

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

114012 学习 · 590 问题

查看课程

相似问题