Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:追加到底部,在同级之后_Jquery_Performance - Fatal编程技术网

jQuery:追加到底部,在同级之后

jQuery:追加到底部,在同级之后,jquery,performance,Jquery,Performance,有没有比下面更有效的方法,在不首先选择父项的情况下附加到元素的同一级别的底部。以下是我的意思的一个例子: 如果我有以下结构: HTML: <div> <div id="main"></div> </div> $('#main') .parent() .append($('<a>Test 1</a>').on('click', function (e) { alert(

有没有比下面更有效的方法,在不首先选择父项的情况下附加到元素的同一级别的底部。以下是我的意思的一个例子:

如果我有以下结构:

HTML

<div>
    <div id="main"></div>
</div>
$('#main')
    .parent()
        .append($('<a>Test 1</a>').on('click', function (e) {
            alert('Test 1')
        }))
        .append($('<a>Test 2</a>').on('click', function (e) {
            alert('Test 2')
        }));

jQuery

<div>
    <div id="main"></div>
</div>
$('#main')
    .parent()
        .append($('<a>Test 1</a>').on('click', function (e) {
            alert('Test 1')
        }))
        .append($('<a>Test 2</a>').on('click', function (e) {
            alert('Test 2')
        }));
$(“#main”)
.parent()
.append($('test1')。在('click',函数(e)上{
警报(“测试1”)
}))
.append($('test2')。在('click',函数(e)上{
警报(“测试2”)
}));

然后我想知道“appendToBottomAfterSibling”是否有一个jQuery等价物?如果我没有.parent(),而我的.append()变为.after(),则它们按相反顺序显示;由于.after()可能会在元素自身之后立即添加元素。

根据编辑,下面的速度比OP慢2个数量级


您可以使用,如
.sibbines().last()
,然后。(但我不确定这是否更有效)

$('#main').sides().last().after(
$(”


(注意,如果“#main”有可能是唯一的同级,那么您可以使用将其包含在选择器中:
$(“#main”).sibles().last().addBack()
-)

这有点难理解……听起来您想要的是简单删除
.parent()的结果
来自您的脚本。例如:我的错误,不完全是,因为我不想将其添加到#main div中,但我想在主div之后添加'Test 1'和'Test 2',但是按照顺序..append()在#main之后立即添加新元素,因此测试2首先出现(因为after的性质).所以我想知道是否有一个类似于.after()的函数将其添加到了底部。明白了,感谢您的澄清。老实说,我认为您的代码很好。最多您可以添加一些特殊性,如
$('#main')。parent('div')。append()
谢谢!有没有办法通过基准测试来确定,或者如果你没有做太多的操作,这通常无关紧要?@keldar你的速度似乎比我的快多了(几乎2个数量级):+1是为了展示替代方案,然后在其上运行性能,以显示original更好。