Mam jeden DIV z czterema dziećmi Divs o tej samej klasie ... Habffingu tej samej klasy ... Chcę dwóch opakowania 2 divs wewnątrz jednego rodzica div..i nie mogę dodać przez HTML lub dodać żadnych klas, ponieważ przychodzi z szablonu Drupal .. tam każdy sposób, aby dodać oddzielne opakowanie Divs na pierwsze dwa i ostatnie dwa Divs ..Kami z góry

$( ".myclass" ).wrapAll( "<div class='row' />");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>

<div class="row">
<div class="myclass"></div>
<div class="myclass"></div>
<div class="myclass"></div>
<div class="myclass"></div>
</div>
1
IamGrooot 27 czerwiec 2017, 11:17

4 odpowiedzi

Najlepsza odpowiedź

Możesz użyć plasterka.

$('.myclass').slice(0,2).wrapAll( "<div class='row' />");
$('.myclass').slice(2,4).wrapAll( "<div class='row' />");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>

<div class="row">
<div class="myclass">1</div>
<div class="myclass">2</div>
<div class="myclass">3</div>
<div class="myclass">4</div>
</div>
1
Shree 27 czerwiec 2017, 08:21

Alternatywnie możesz użyć tego:

$('.myclass:eq(0),.myclass:eq(1),').wrapAll('<div class="row1"></div>');
$('.myclass:eq(2),.myclass:eq(3),').wrapAll('<div class="row2"></div>');

W powyższym przykładzie użyłem : EQ () Selector, aby wybrać dzieci Div . W tej metodzie indeksowanie zaczyna się od 0 (tak jak tablice).

0
Chirag Bhansali 27 czerwiec 2017, 08:39

Użyj : LT () Selector

Opis: Wybierz wszystkie elementy na indeksie mniej niż wskaźnik w dopasowanym zestawie.

Oznacza to, że wybierz wszystkie elementy z indeksem mniejszym niż 2, który jest pierwszym i drugim elementem, który ma odpowiednio wskaźnik 0 i 1

$(".myclass:lt(2)").wrapAll("<div class='row' />");
.row {
  color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>


  <div class="myclass">1</div>
  <div class="myclass">2</div>
  <div class="myclass">3</div>
  <div class="myclass">4</div>
1
guradio 27 czerwiec 2017, 08:20

Jak rozumiem, chcesz owinąć pierwsze dwa elementy wewnątrz innego nowego rzędu?

To powinno wystarczyć:

var elements = $( ".myclass" );

$([elements[0], elements[1]]).wrapAll( "<div class='row' />");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>

<div class="row">
<div class="myclass"></div>
<div class="myclass"></div>
<div class="myclass"></div>
<div class="myclass"></div>
</div>

Że należy to zrobić.

2
amilete 27 czerwiec 2017, 08:22