У меня есть:
<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>");
его span
от a
но я не писал 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>
Но лучше добавить класс/какой-либо другой идентификатор в контейнер 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 />");
Демо: скрипка
Вы должны сделать это по классу: $(".classname").wrapAll("");
и добавьте класс classname
в свой первый div
<span>sometext<span>