2015-06-29 4 views
1

Мне нужно ввести некоторую разметку html внутри моей html-страницы с помощью jQuery.Обтекание HTML внутри div с помощью jQuery

Мне нужно, чтобы объемный выделенный желтый код ниже с <div class="section"> ... </div>.

Так что мне нужно что-то вроде этого:

<div class="section"> 
    <div>...</div> 
    <div>...</div> 
    <div>...</div> 
    <div>...</div> 
    <div>...</div> 
</div> 

За то, что я использую идентификатор (выделено зеленым цветом) и parent и before или append метод.

Проблема: при использовании before или append методы, JQuery всегда самостоятельно закрыть теги, так что я в конечном итоге с <div class="section"></div> ...

enter image description here

Любая идея, как поступить? Благодарю.

+0

Это поведение этих методов по умолчанию. Вы не можете добавить html в биты. Конечные теги автоматически обрабатываются. –

+0

Нехороший downvote по моему счету. – Terrance00

ответ

2

Использование .nextUntil() для целевой дивы между ними и оберните раздел с помощью .wrapAll()

$('div[id^=320]').nextUntil("div[id^=760]").add("div[id^=320], div[id^=760]").wrapAll('<div class="section"></div>');
.section { 
 
    background-color: yellow; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div>...</div> 
 
<div>...</div> 
 
<div id="320">...</div> 
 
<div>...</div> 
 
<div>...</div> 
 
<div>...</div> 
 
<div id="760">...</div> 
 
<div>...</div>

+0

Проблема в том, что вы инкапсулируете все div, но в моем случае мне нужно только несколько из них ... Как вы можете видеть на скриншоте до и после выделенного желтого кода, у меня есть другие div. – Bronzato

+0

Вы можете использовать псевдоселектора CSS для таргетинга на определенный элемент. Какой вам нужен? –

+0

Мне нужны следующие divs, начинающиеся с div с id = "721 ..." и заканчивающиеся на div с id = "569 ...". (и так все divs между). – Bronzato

0
$('.wcustomhtml').each(function(){ 
    $(this).parent().wrap('<div class="section"></div>'); 
}) 

Я не уверен, если только выделенные элементы имеют этот класс, если нет, вам нужно дать им некоторый класс, чтобы идентифицировать их, а затем каждый() их и wrap() их родителя.

надеюсь, что это поможет

Смежные вопросы