gpt4 book ai didi

javascript - 为什么这不是有效的代码?

转载 作者:行者123 更新时间:2023-11-28 02:03:57 26 4
gpt4 key购买 nike

我的 javascript 文件中有这段代码(我正在使用 YUI):

var levels = [2, 3, 4, 5, 6, 7, 8, 9];

for(var i = 0; i < levels.length; i++) {
var level = levels[i];
Y.all(".level"+level).get('parentNode').addClass("category_level"+level);
};

现在,如果我的 javascript 文件末尾有这个,它就可以正常工作。但是,如果我将其放在其他代码之前,则我的其他代码(函数)将不再工作。

我已将问题进一步隔离到这段代码:.get('parentNode') - 当我取出该位时,所有其他代码和函数都会再次工作。

我不确定,但我认为我可能必须采取以下措施:

var nodes = Y.all(".level"+level);

nodes.each(function(node){ ...
node.get('parentNode').......

但我很难将其应用到我顶部的代码中。

谢谢!

更新

这段代码由于某种原因无效:

var levels = [2, 3, 4, 5, 6, 7, 8, 9];

for(var i = 0; i < levels.length; i++) {
var level = levels[i];
Y.all(".level"+level).get('parentNode').addClass("category_level"+level);
};

当我将其粘贴到http://www.jslint.com/时它是如此错误,以至于它甚至无法扫描它!“JavaScript语法错误,无法继续可靠地解析程序”

这段代码有什么问题吗?它说“将'var'声明移动到函数的顶部” - 但当我这样做时,它只是再次说了同样的事情。

也许有人可以告诉我那段代码有什么问题吗?或者这可能太困难或太麻烦,应该以更简单的方式完成?

谢谢!

最佳答案

我不确定您的 HTML 是什么样子,但如果您尝试向每个级别添加类名,我会使用 Y.eachY.one 像这样:

var levels = [2, 3, 4, 5, 6, 7, 8, 9];

Y.each(levels, function (level) {
var node = Y.one(".level"+level);
if(node) {
node.get('parentNode').addClass('category_level' + level);
}
});

如果 Y.one('.level199') 不存在,这将传入 linter,并且不会失败。

这适用于多级节点:

var levels = [2, 3, 4, 5, 6, 7, 8, 9];

Y.each(levels, function (level) {
Y.all(".level"+level).each(function (node) {
node.get('parentNode').addClass('category_level' + level);
});
});

关于javascript - 为什么这不是有效的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18051317/

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