我试图用类A、和B的其他div标记封装标记。以下是我的最终结果:
<div class="A">
<div class="B">
**<div class="C"></div>**
</div>
</div>我正在使用以下代码来执行此操作:
<script>
jQuery('<div class="A"><div class="B">').insertBefore('.C');
jQuery('</div></div>').insertAfter('.C');
</script>然而,代码的出处是:
<div class="A">
<div class="B">
</div>
</div>
<div class="C">
</div>这显然不是我的本意。请帮帮忙。
发布于 2012-08-18 15:01:05
wrap是您需要的函数,因为您希望将两个div标记封装在一个现有的标签上,而不是在它之前或之后插入新的标记:
$('.C').wrap('<div class="A"><div class="B"></div></div>');发布于 2012-08-18 15:01:52
你的电话不正确
应该是
<div class="C">Some Text</div>
<script type="text/javascript">
$(function(){
$(".C").wrap($("<div class='A' />")).wrap($("<div class='B' />"));
});
</script>您没有在第一次调用A类div中关闭,所以在开发人员实现innsertAfter方法时留给jquery处理它。
发布于 2012-08-18 15:03:32
它可能不是jQuery,而是呈现它的浏览器。我已经看到Chrome的检查器渲染结束标签,我在原始标记中忘记了它们。
实际上,您似乎希望使用wrap()函数。
您的脚本看起来应该是:
$('.C').wrap(function () {
return '<div class="A"><div class="B">';
});https://stackoverflow.com/questions/12019563
复制相似问题