Измените скрипт jquery для использования this.parent в функции appendTo () - PullRequest
0 голосов
/ 15 декабря 2011

Я использую этот скрипт jquery для дублирования первого элемента внутри <div> с классом scoll-box:

$(".scroll-box > *").first().clone().appendTo(".scroll-box");

Я хотел бы переписать часть скрипта appendTo() для использованияспецификация $(this).parent, поэтому скрипт может быть запущен на нескольких экземплярах элемента .scroll-box.Как бы я это сделал?

Оригинальный HTML выглядит так:

<div id="scroll-box" class="scroll-box">
    <div>Line 1</div>
    <div>Line 2</div>
    <div>Line 3</div>
</div>

Ответы [ 3 ]

1 голос
/ 15 декабря 2011
$(".scroll-box > *").each(function() {
    $(this).clone().appendTo($(this).parent());
});
1 голос
/ 15 декабря 2011

Чтобы ссылаться на разные элементы каждый раз, лучше всего сделать .each, где this - это один из набора элементов каждый раз:

// for each .scroll-box
$(".scroll-box").each(function() {
    // clone first child and append to this .scoll-box
    $(this).children().first().clone().appendTo(this);
});

.parent() - этов этом нет необходимости, поскольку this относится к элементу .scoll-box.

0 голосов
/ 15 декабря 2011

кэшируйте селекторы и используйте метод .parent().

var el = $(".scroll-box > *");
var clone = el.first().clone();
el.parent().append(clone);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...