使用jquery来分组元素(using jquery to group elements)

编程入门 行业动态 更新时间:2024-10-22 07:44:50
使用jquery来分组元素(using jquery to group elements)

我有很多我需要分组的元素,但是因为它正在吐出一些我无法改变的机制,所以我需要使用jquery(我非常熟悉基础知识)

基本上我有一个p标签和div放在一个表单元素(很糟糕的标记,但这是另一个故事)的负载。 我需要在字段集中将下列一个或两个div分组为p标签。

我已经尝试插入fieldset close,然后在每个p元素之前开始标记,但是我猜想把它排序出来的机器想要插入合法元素,这样不起作用

I've got a whole bunch of elements that I need to group, but because it's being spat out of some machinery which I can't alter, I need to do so using jquery (which I'm fairly familiar with the basics of)

Basically I've got a load of p tags and divs loose inside a form element (yes bad markup, but that's another story). I need to group the p tags with the following one or two divs inside a fieldset.

I've tried inserting fieldset close and then start tag before each p element, but I guess the machinery that sorts it out wants to insert legal elements, so that doesn't work

最满意答案

如果我理解正确,你有一个文件,其中的标记看起来像这样:

<p>paragraph 1</p> <div>par1 div1</div> <div>par1 div2</div> <p>paragraph 2</p> <div>par2 div1</div> <div>par2 div2</div> <p>paragraph 3</p> <div>par3 div1</div> <p>paragraph 4</p> <div>par4 div1</div>

你想最终得到这样的东西:

<fieldset> <p>paragraph1</p> <div>par1 div1</div> <div>par1 div2</div> </fieldset> <fieldset> <p>paragraph2</p> <div>par2 div1</div> <div>par2 div1></div> </fieldset> .....

如果是这种情况,那么这个jQuery代码片段就可以做到这一点:

$(function(){ $('p').each(function(index,item){ var nextDiv = $(item).next(); var followingDiv = $(nextDiv).next('div'); $(item).wrap("<fieldset id='fieldset" + index + "'></fieldset>"); $("#fieldset"+index).append(nextDiv).append(followingDiv); }); });

If I understand correctly, you have a document where the markup looks something like this:

<p>paragraph 1</p> <div>par1 div1</div> <div>par1 div2</div> <p>paragraph 2</p> <div>par2 div1</div> <div>par2 div2</div> <p>paragraph 3</p> <div>par3 div1</div> <p>paragraph 4</p> <div>par4 div1</div>

And you want to end up with something like this:

<fieldset> <p>paragraph1</p> <div>par1 div1</div> <div>par1 div2</div> </fieldset> <fieldset> <p>paragraph2</p> <div>par2 div1</div> <div>par2 div1></div> </fieldset> .....

If this is the case, then this jQuery snippet will do the trick:

$(function(){ $('p').each(function(index,item){ var nextDiv = $(item).next(); var followingDiv = $(nextDiv).next('div'); $(item).wrap("<fieldset id='fieldset" + index + "'></fieldset>"); $("#fieldset"+index).append(nextDiv).append(followingDiv); }); });

更多推荐

本文发布于:2023-07-23 02:35:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1226522.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:元素   jquery   elements   group

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!