Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将类别为A的项目与类别为B的元素进行分组_Javascript_Jquery - Fatal编程技术网

Javascript 将类别为A的项目与类别为B的元素进行分组

Javascript 将类别为A的项目与类别为B的元素进行分组,javascript,jquery,Javascript,Jquery,我试图将带有类“sub”的li标记分组到一个容器()中,前提是它们前面有一个包含类“title”的元素。我能够用“sub”将所有连续的元素包装到一个“容器”中,但是仍然需要忽略第一组sub,因为它们前面没有“title”类 $('.sub')。不是('.sub+.sub')。每个(函数(){ $(this).nextUntil(':not(.sub)).addBack().wrapAll(''); }); 标题 标题 按标题查找 查找标题后的所有元素,直到(不包括

我试图将带有类“sub”的li标记分组到一个容器()中,前提是它们前面有一个包含类“title”的元素。我能够用“sub”将所有连续的元素包装到一个“容器”中,但是仍然需要忽略第一组sub,因为它们前面没有“title”类

$('.sub')。不是('.sub+.sub')。每个(函数(){
$(this).nextUntil(':not(.sub)).addBack().wrapAll('');
});

  • 标题
  • 标题
  • 按标题查找
  • 查找标题后的所有元素,直到(不包括)下一个标题
  • 用container div包装它们
  • $('.title')。每个(函数(){
    $(this.nextUntil('.title').wrapAll('');
    });
    
    .container{color:red;}
    
    
    • 标题
    • 标题
  • 按标题查找
  • 查找标题后的所有元素,直到(不包括)下一个标题
  • 用container div包装它们
  • $('.title')。每个(函数(){
    $(this.nextUntil('.title').wrapAll('');
    });
    
    .container{color:red;}
    
    
    • 标题
    • 标题

    关于
    $('.title+.sub')。每个(/*…*/)
    ?关于
    $('.title+.sub')。每个(/*…*/)
    ?这非常感谢。下一个('.title')将包装所有项目,直到但不包括下一个标题。@MarioPerez
    wrappall
    是将所有项目包装在一个标签中的部分,其中as
    wrap
    会将每个标签放在自己的标签中
    nextUntil
    只是查找所有正在进行的同级的选择部分,直到它找到一个不应包含的同级,然后停止。@Mariopeez由于答案解决了您的问题,请接受它-看到这一点,非常感谢。nextUntil(“.title”)是否将所有项目包装到下一个标题,但不包括下一个标题?@MarioPerez
    wrapAll
    是将所有项目包装到单个标记中的一部分,其中as
    wrap
    将每个项目放在自己的标记中
    nextUntil
    只是查找所有正在进行的同级的选择部分,直到找到一个不应包含的同级,然后停止。@Mariopez由于答案解决了您的问题,请接受它-请参阅