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

ele1.warp(ele2)与ele1.warpAll(fn)与什么区别啊,运行结果都一样的。

ele1.warp(ele2)与ele1.warpAll(fn)与什么区别啊,运行结果都一样的。

提问者:慕码人5999576 2016-11-14 11:34

个回答

  • qq_缔曦_04032696
    2016-11-16 10:23:30

    $('p').warpAll(function(){return '<div><div/>'}就相当于$('p').warpAll( '<div></div>' )

    我是这么想的,但是查了下百度,发现并不是这么回事儿。

    wrapAll(wrapper):参数wrapper可以为函数。wrapAll()将根据匹配的所有元素遍历执行该函数,函数中的this将指向对应的DOM元素。 注意是遍历执行该函数!!!

    假设对3个p标签,那么$('p').warpAll(function(){return '<div><div/>'}就是分三次,第一次对第一个p进行warpAll( '<div></div>' ),第二次对第二个p进行.....

    亲测dw结果符合上述描述。

  • 慕码人5999576
    2016-11-14 17:37:52

    你明显理解错我的意思了,举个栗子:$('p').warp('<div></div>')与$('p').warpAll(function(){return '<div><div/>'}. 效果是一样的,求这二者实际应用的区别。

  • 尘世Kay
    2016-11-14 14:08:13

    ele2只有一个ele1就是一样的,,好几个之后就有差别了。<p>11</p><p>11</p><p>11</p> 这样就有差别了。前面是每个都多个父容器,后面是多一个父容器