修改jquery脚本来使用它.parent在appendTo()函数中

Modify jquery script to use this.parent in appendTo() function

本文关键字:appendTo 函数 parent 脚本 jquery 本来 修改      更新时间:2023-09-26

我使用这个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>

每次引用不同的元素,最好是.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元素。

$(".scroll-box > *").each(function() {
    $(this).clone().appendTo($(this).parent());
});

缓存选择器并使用.parent()方法。

var el = $(".scroll-box > *");
var clone = el.first().clone();
el.parent().append(clone);