#jquery
#jquery
Вопрос:
Кто-нибудь может подсказать мне несколько идей, как я могу обертывать любое содержимое тегом <div>
after каждого <h2>
и присваивать ему уникальный идентификатор, выполняемый с помощью jquery?
Я пытаюсь это сделать:
<h2>Test</h2>
<div id="wrap_1"> // This is the wrapper im trying to add
<p>Bla bla</p>
<p>More Bla bla</p>
</div>
<h2>Another test</h2>
<div id="wrap_2"> // This is the wrapper im trying to add
<p>Bla bla</p>
<p>More Bla bla</p>
</div>
Заранее спасибо
Ответ №1:
Вот так:
$('h2').each(function(index) {
$(this).nextUntil('h2').wrapAll('<div id="wrap' index '"></div>');
});
Комментарии:
1. Это работает, за исключением первого
next()
. Его там не должно быть. @SLaks: вы пропускаете тоdiv
, что должно быть добавлено с помощью jQuery. Я создал этот jsfiddle с помощью кода @SLaks и внес изменения: jsfiddle.net/marcosfromero/d2aQn2. @marco: Да; я только что исправил это и сделал свою собственную демонстрацию. Я ошибочно думал, что это
nextUntil
включает текущий элемент.3. Спасибо вам, ребята! Но на моей тестовой странице это выглядит странно. Он помещает два div вместо одного! вот так
code<div id="wrap0"><div id="wrap0"><p>TEst</p></div></div>
4. @dut: Какая у вас тестовая страница? Вы запускаете этот код дважды?
5. @SLaks: так странно … это тот же код! я попробовал это на fiddle, и все работает нормально, но когда я кодирую это в блокноте, это не jsfiddle.net/dutraveller/qgrXP