jQuery. Как обернуть элемент в тег?


Необходимость обернуть элемент в другой элемент не редкость, поэтому jQuery, конечно же, предлагает простой вариант реализации задачи.

Для этого следует использовать метод wrap.

При этом у метода есть два варианта.

Первый предполагает передачу в качестве параметра строки — тега, в который нужно облачить блок. Например:

$('#some-div').wrap('
');

Приведенный код обернет #some-div в div.wrapper-for-some-div.

Второй — даёт больше возможностей и позволяет передать в качестве аргумента не строку, а анонимную функцию, внутри которой можно произвести дополнительные дейтсвия. На практике — это действительно очень удобно.
Например:

$('#some-div').wrap(function(){
    if( $('#cart .cart-item').length ){
        return '
'; }else{ return '
'; } });

Приведенный код эмулирует ситуацию, когда блок надо не просто обернуть в блок, но и учесть при этом наличие условных позиций в корзине. Так, если в корзине (#cart) есть элементы (.cart-item) — блок обернется в div.wrap-for-non-empty-cart, в противном случае — в div.wrap-for-empty-cart.

Надеюсь мне удалось понятно обьяснить различие между методами и специфику их использования. На этом всё — удачи, Друзья!

, , ,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *