2013-11-23 70 views
0

我:如何包裹元素的所有子元素?

<div> 
    <a> //this 
    <span>sometext<span> //problem 
    </a> 
    <a></a> //this 
    <a></a> //this 
    <span>sometext</span> //this 
    <div><div> 
    <input> 
</div> 

我需要包装标记元素,并得到结果是这样的:

<div> 
    <div> //wrapped 
    <a> 
     <span>sometext<span> 
    </a> 
    <a></a> 
    <a></a> 
    <span>sometext</span> 
    </div> //wrapped 
    <div><div> 
    <input> 

</div> 

但是当我做这与$("div a, div span").wrapAll("<div></div>"); 其采取从aspan但我没有写div a span。所以,我得到这个:

<div> 
    <div> //wrapped 
    <a>  
    </a> 
    <span>sometext<span> //need to be child of tag a 
    <a></a> 
    <a></a> 
    <span>sometext</span> 
    </div> //wrapped 
    <div><div> 
    <input> 

</div> 
+0

http://api.jquery.com/wrapAll/ – tjons

+0

你不要有正确的开始和结束标记....' sometext '以及 – PSL

+0

使用子选择器代替后代选择:' $(“div> a,div> span”)'。 –

回答

-1

但是,这将是更好的一类/其它一些标识符添加到div容器

<div class="someclass"> 
    <a> //this 
     <span>sometext</span> //problem 
    </a> 
    <a></a> //this 
    <a></a> //this 
    <span>sometext</span> //this 
    <div></div> 
    <input /> 
</div> 

然后

$("div.someclass").children("a, span").wrapAll("<div />"); 

演示:Fiddle

0

您应该按照课程进行:$(".classname").wrapAll("");并将类别classname添加到y我们的第一个div

相关问题