Как мне обернуть каждый набор из двух предметов с помощью jQuery?
Я хотел бы обернуть каждый набор <h2>
а также <table>
в своих <div>
так что я могу манипулировать новым контейнером с помощью CSS.
Ниже приведена упрощенная версия HTML, с которым я работаю:
<div>
<h3></h3>
<h2 class="product-line-term-name">Product 1</h2>
<table class="views-view-grid"></table>
<h3></h3>
<h2 class="product-line-term-name">Product 2</h2>
<table class="views-view-grid"></table>
<h3></h3>
<h2 class="product-line-term-name">Product 3</h2>
<table class="views-view-grid"></table>
</div>
Примечание: я работаю только со слоем темы, поэтому мои инструменты - это jQuery (версия 1.3.2) и CSS.
3 ответа
Решение
Посмотрите на этот код
jQuery.each($('.product-line-term-name'), function(i, val) {
//Create new element
var div = "<div>" + $(this)[0].outerHTML + $(this).next()[0].outerHTML + "</div>";
$(this).prev().after(div);
$(this).next().remove();
$(this).remove();
});
Я думаю, что следующий код послужит вашей цели для jQuery 1.3.2:
var h3_length = $('h3').length;
for(var i= h3_length - 1; i>= 0; i--) {
$('h3').eq(i).nextAll().not(".test, h3").wrapAll('<div class="test" />');
}