gpt4 book ai didi

Javascript一个函数如何查看另一个函数的变量?

转载 作者:行者123 更新时间:2023-12-02 20:52:38 28 4
gpt4 key购买 nike

下面是javascript代码,目的是模拟jquery的nextAll()函数。现在的问题是,当我使用函数作为参数时,但它在 _nextAll() 函数中看不到 aLists 变量。

function _nextAll(func) {
var aLists = document.getElementsByTagName("*");
var i = 0;
var temp = [];
while (i < aLists.length) {
if (func) { //if aLists[i].id = "one" replace func, this work
var j = i;
while (j < aLists.length) {
temp.push(aLists[j + 1]);
j++;
}
}
i++;
}
return temp;
}

var temp = _nextAll(function(){
if (aLists[i].id = "one"){ //aLists[i] cannot be seen in anonymous function
return true;
}
});

for (i = 0; i < temp.length; i++) {
temp[i].style.color = "orange";
}

最佳答案

您应该将选择器传递给_nextAll,让函数选择与选择器匹配的第一个元素(或每个元素),然后迭代其后面的每个元素:

function _nextAll(sel) {
let el = document.querySelector(sel);
const elements = [];
while (el = el.nextElementSibling) {
elements.push(el);
}
return elements;
}

for (const el of _nextAll('#one')) {
el.style.color = "orange";
}
<div>a</div>
<div>b</div>
<div id="one">c</div>
<div>d</div>
<div>e</div>

关于Javascript一个函数如何查看另一个函数的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61569330/

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