gpt4 book ai didi

javascript - javascript 中用于新元素的每个函数

转载 作者:行者123 更新时间:2023-11-28 06:45:16 25 4
gpt4 key购买 nike

我有一个无限滚动的页面,当用户向下滚动时会附加新元素。 “.product-variation”就是这样的元素之一。我想删除所有新到达元素的第一个选项。下面的代码完成了这项工作,但我认为它在 DOM 上上下移动有点太多——降低了过程中的性能。有没有更好、更有效的方法来删除新到达元素的第一个选项?

所有新到达元素的第一个选项始终是“”,这就是我要删除的内容。

jq(".product-variations").each(function(){
var fresh_variant = jq(this).find("option:nth-child(1)").val();
if(fresh_variant == '')
{
jq(this).find("option:nth-child(1)").remove();
}

jq(this).trigger('change');
});

最佳答案

我会放一个标志:

jq(".product-variations:not([data-set])").each(function(){
var fresh_variant = jq(this).find("option:nth-child(1)").val();
if(fresh_variant == '')
{
jq(this).find("option:nth-child(1)").remove();
}

jq(this).trigger('change');
jq(this).attr('data-set',1);

});

现在,当您添加项目时,您设置了一个标志“set”。

下次,您只扫描新的。(没有标志的)

哦,顺便说一句,这是您的代码的更好版本:

jq(".product-variations:not([data-set])").each(function(){
var $this=jq(this);
var $opt=$this.find("option:nth-child(1)");
var fresh_variant = $opt.val();
if(fresh_variant == '')
{
$opt.remove();
}

$this.trigger('change');
$this.attr('data-set','whatever');

});

关于javascript - javascript 中用于新元素的每个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33462944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com