gpt4 book ai didi

javascript - 删除 Javascript 中的元素列表

转载 作者:行者123 更新时间:2023-11-30 05:41:55 25 4
gpt4 key购买 nike

考虑以下代码。在 "videos_list" 元素 i 中有一个元素列表,我在 "couple"变量中获得这些元素。我正在尝试删除所有具有 "ai" 不同于 "list_couple" 属性的元素(为了测试我只放了一个元素)。问题是,当他找到该元素时,他并没有删除找到的元素之后的其他元素。

举例说明这个想法:考虑列表 ("x", "r", "t", "b", "h", "p")id ="t"

他正在做的是 ("_", "_", "t", "b", "h", "p")

他应该做 ("_", "_", "t", "_", "_", "_")("t").

为什么“i”的值在找到元素后在 0 和 1 之间切换?我在示例中使用 alert() 函数看到了这一点。我相信问题出在“while”循环中。

var clicked = 0;
var interval = setInterval(function( ) {

var list_couple = new Array("2583521"),
clicks = 1,
videos = document.getElementById( "videos_list" ),
couple = videos.getElementsByTagName( "a" );

var i = 0;
while( i < couple.length ) {
var flag = 0;
//alert(i);// To see the value of the i.
for(j = 0; j < list_couple.length; j++) {
if((couple[i].getAttribute( "ai" )) == list_couple[j]) {
flag = 1;// Element found.
i++;
break;
}
}
if( !flag ) {
videos.removeChild( couple[i].parentNode );
}
}

document.getElementById('btnMoreVideos').click();// Click on the button.
clicked++;
if(clicked >= clicks) {
clearInterval( interval );
}
}, 1000);

我做错了什么?

最佳答案

我认为你的问题是因为 i++ 应该在你的 for 语句之外。

while( i < couple.length ) {
var flag = 0;
//alert(i);// To see the value of the i.
for(j = 0; j < list_couple.length; j++) {
if((couple[i].getAttribute( "ai" )) == list_couple[j]) {
flag = 1;// Element found.
//i++;
break;
}
}
if( !flag ) {
videos.removeChild( couple[i].parentNode );
}
i++;
}

关于javascript - 删除 Javascript 中的元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20330902/

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