为了账号安全,请及时绑定邮箱和手机立即绑定

将每3div包在div中。

将每3div包在div中。

jeck猫 2019-07-02 17:12:31
将每3div包在div中。可以用吗?nth-child使用选择器包装3div.wrapAll?我似乎想不出正确的方程式。所以.。<div>         <div></div>         <div></div>         <div></div>         <div></div>         <div></div>         <div></div></div>变成.。<div>    <div class="new">         <div></div>         <div></div>         <div></div>    </div>    <div class="new">         <div></div>         <div></div>         <div></div>    </div></div>
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

你可以用.slice(),就像这样:

var divs = $("div > div");for(var i = 0; i < divs.length; i+=3) {
  divs.slice(i, i+3).wrapAll("<div class='new'></div>");}

你可以在这里试试看,我们在这里所做的就是获取您想要对它们进行包装和循环的元素,并执行一个.wrapAll()分批的3,然后移动到下一个3,等等。它将在一次包3,但许多在结尾,例如3,3,3,2,如果是这样的话。


查看完整回答
反对 回复 2019-07-02
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

插件

$(function() {
    $.fn.EveryWhat = function(arg1) {
        var arr = [];
        if($.isNumeric(arg1)) {
            $.each(this, function(idx, item) {
                var newNum = idx + 1;
                if(newNum%arg1 == 0)
                arr.push(item);
            });
        }
        return this.pushStack(arr, "EveryWhat", "");
    }});

如何使用它。

打电话EveryWhat()在元素上,并为您要收集的每个元素输入一个数字。

$("div").EveryWhat(2).wrapInner('<div class="new" />');

包装器的引号应该有正确的格式<div class="new" />有一个类和结束标记。StackOverflow阻止我展示它的样子,但是这里是一个自关闭div的链接。

它应该是什么样子

它将封装您指定的所有其他数字。我使用的是jQuery1.8.2。所以请记住使用选择器调用EveryWhat(3)每次都有一个数字。当然,将其放在页面底部或将其包装在

$(document).ready(function() {  
    //place above code here});

你可以用每一个.wrapInner('<div class="new" />')同样的结果。


查看完整回答
反对 回复 2019-07-02
  • 3 回答
  • 0 关注
  • 572 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信