使用jquery仅创建一个开始div标签

时间:2012-11-27 00:47:55

标签: jquery jquery-ui

好的,所以我搜索了这个网站很多,我似乎找不到答案,所以我会用更好的理由问同一个问题。我试图使用jquery添加一个开始div标签。当我尝试使用后我最终使用。我知道jquery不喜欢本地创建我想要的标签。但是,情况如下:

我有一个动态表单生成器,用于显示表单。我在表单中使用了几个标题作为节标题。我想使用jquery手风琴,它希望看到一个div元素包装手风琴框架的内容,它想直接看到它。问题是开始和结束div标签之间的元素数量是动态的。所以我不能只是包装一些东西并完成它。我想做的是这样的事情:

<h3>Section 1</h3>

...动态代码部分

<h3>Section 2</h3>

我想用jquery来结束这样的事情:

<h3>Section 1</h3>
<div>

动态代码部分

</div>
<h3>Section 2</h3>
<div>

更多动态代码

</div>

我知道我可以找到我所知道的元素(h3标签)并插入html。问题是jquery不会让我。显然,我不相信我足以平衡我自己的事情。任何人都有关于如何让它工作的想法?

2 个答案:

答案 0 :(得分:6)

使用.wrapAll()

$('h3').each(function(){
   $(this).nextUntil('h3').wrapAll(document.createElement('div'));
});

DEMO:http://jsfiddle.net/ph8D2/

答案 1 :(得分:4)

不,没有插入开口或结束标签,感谢上帝。这不是jquery阻止你,它是DOM api。插入开始标记没有任何意义,因为它不是有效的实体。

做一些像

这样的事情
<h3>Section 1</h3>
<div class="dynamic">

</div>

$('.dynamic').html( .. your dynamic content ..)