Имя класса функции цикла с помощью jquery - PullRequest
0 голосов
/ 06 мая 2019

Мне нужно следующий код:

$( ".content.one" ).clone().appendTo( ".cat.one .details" );
$( ".content.two" ).clone().appendTo( ".cat.two .details" );
$( ".content.three" ).clone().appendTo( ".cat.three .details" );

Я хотел зациклить это как

var obj = {
one: 'one',
two: 'two',
three: 'three'
};
$.each(obj, function (index, value) {
  $( ".content.(value)" ).clone().appendTo( ".cat.(value) .details" );
});

Но я не могу понять, как использовать «значение» внутри классов

Ответы [ 2 ]

1 голос
/ 06 мая 2019

Использовать Шаблонные литералы

var obj = {one: 'one',two: 'two',three: 'three'};

$.each( obj, function( key, value ) {
  $(`.content.${value}`).clone().appendTo(`.cat.${value} .details`);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<div class="content one">One</div>
<div class="content two">Two</div>
<div class="content three">Three</div>

<br/>
<div class="cat one"><div class="details"></div></div>
<div class="cat two"><div class="details"></div></div>
<div class="cat three"><div class="details"></div></div>

Примечание : obj представляет собой объект и согласно jQuery.each обратный вызов будет передан key и value в качестве аргументов, а не index и value.

0 голосов
/ 06 мая 2019

Вы можете использовать код, указанный ниже.

$(".content ." + value).clone().appendTo(".cat ." + value + " .details");

Если это не поможет, запросите общий код.

...