Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Попарное обертывание элементов ? (https://javascript.ru/forum/jquery/73587-poparnoe-obertyvanie-ehlementov.html)

Black_Star 26.04.2018 18:16

Попарное обертывание элементов ?
 
Добрый день уважаемые, подскажите пожалуйста самый простой способ как попарно обернуть элементы ? https://jsfiddle.net/3zaL2muw/ Как оборачивать параграфы .game_symbols и следующий за ним элемент в див game_symbols__wrapper, в независимости от того что это за элемент. Я пробовал через .next() но чёт не сработало

j0hnik 26.04.2018 18:49

symbolsName =  $(".game_symbols")
  symbolsName.each(function(){
  $(this).add($(this).next()).wrapAll('<div class="game_symbols__wrapper"></div>');
  });

рони 26.04.2018 20:17

обернуть попарно
 
:write:
из былого ... обернуть элементы на js


<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css"> .game_symbols__wrapper{
    width: 100%;
    border: 1px solid #f00;
    margin-bottom: 10px;
}
    </style>

    <script>
window.addEventListener("DOMContentLoaded", function() {
function wrapEach(element, wrapper, countToWrap, cls){
 var container;
 [].forEach.call( document.querySelectorAll(element), function(el,i) {
   i % countToWrap || (container = document.createElement(wrapper),
   cls && container.classList.add(cls),
   el.parentNode.replaceChild(container,el));
   container.appendChild(el);
 });
}
wrapEach('.game_symbols, .game_symbols + *','div',2,'game_symbols__wrapper');
})

    </script>
</head>

<body>
<p class="game_symbols">text1</p>
<div class="block">dsfsdfsdfdsf</div>
<p class="game_symbols">text2</p>
<div class="ggg">Lorem ipsum dolor sit amet.</div>
<p class="game_symbols">text3</p>
<div class="feew">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione, obcaecati.</div>
<p class="game_symbols">text4</p>
<button>кнопка</button>
<p class="game_symbols">text5</p>
<a href="">link</a>
</body>
</html>

рони 26.04.2018 20:19

:write: на всякий случай ...
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css"> .game_symbols__wrapper{
  width: 100%;
  border: 1px solid #f00;
  margin-bottom: 10px;
}
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
  $(".game_symbols").each(function(i, e){
  $(e).add("+", e).wrapAll('<div class="game_symbols__wrapper"></div>');
  });

});
  </script>
</head>

<body>
<p class="game_symbols">text1</p>
<div class="block">dsfsdfsdfdsf</div>
<p class="game_symbols">text2</p>
<div class="ggg">Lorem ipsum dolor sit amet.</div>
<p class="game_symbols">text3</p>
<div class="feew">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione, obcaecati.</div>
<p class="game_symbols">text4</p>
<button>кнопка</button>
<p class="game_symbols">text5</p>
<a href="">link</a>
</body>
</html>

Black_Star 27.04.2018 07:37

Круто, спасибо :thanks:


Часовой пояс GMT +3, время: 03:16.