jQuery .after未按预期插入

问题描述

编辑:找到解决方案如何使用jquery用html包装每3个子div? 我正在打印包含很多“ 0”的列表,并希望使用jQuery在每6个“ 0”之后插入一个“ 1”。 自然地,那就像
$(\'#staffscroll .person:nth-child(5n)\').after(\'</div><div class=\"clearfix\">\');
但是输出变为
<div class=\"clearfix\"></div>
,这没有任何意义。 有什么想法吗? 好的,也许应该提供更多代码。 我正在使用幻灯片脚本。基本上,整个过程是将东西放入ѭ0中。 例如..
<div id=\"slideshow\">
    <div class=\"clearfix\"> First slide wrapper
        <img>
        <img>
        <img>
        <img>
    </div>
    <div class=\"clearfix\"> Second slide wrapper
        <img>
        <img>
        <img>
        <img>
    </div>
    <div class=\"clearfix\"> Third slide wrapper
        <img>
        <img>
    </div>
</div>
问题是我也在使用CMS,而CMS对动态输出的控制却不多。所以我的想法是,我只能输出所有内容,然后再提供幻灯片包装器。 因此the1ѭ 哈夫现在不知道它是否有意义,但是我希望你能理解我正在尝试做的事情。     

解决方法

        您尝试插入的语句不是正确的XML。您正在考虑将HTML文档看作一个大字符串,但是如果您想使用jQuery之类的工具,这是错误的方法。 我建议您进一步了解DOM及其用法。您的整个方法是错误的,因此您的代码示例不正确。     ,        IIRC,jQuery将字符串解析为DOM片段,然后将其插入。解析
</div><div class=\"clearfix\">
时,假定
</div>
是错误,并且还关闭
<div class=\"clearfix\">
。因此,您观察到的效果。     ,        那是因为ѭ11并没有修改HTML,而是在创建新的DOM元素并将其添加到文档中。您应该使用ѭ12来包装一组元素。我的猜测是您的代码将如下所示:
var start = 0,$list = $(\'#staffscroll .person\').slice(0,6);

while ($list.length) {
    $list.wrapAll(\'<div class=\"clearFix\"></div>\');

    start += 6;
    $list = $list.end().slice(start,start + 6);
}
jsFiddle工作示例     ,        当我将.wrapAll替换为.append或类似名称时?     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...