Javascript For循环应查找是否存在值
对于上下文,下面的函数将参数“rank”作为大写字母(例如:“A”)。“nodeField”是一个div 当代码运行时,下面的代码将解释输入“rank”,并在“nodeField”后面附加一个“h1”。每个“h1”都有一个不同的id,第一个字母是它的等级,第二个字母是它在等级中的位置(参见第19行和第21行)。第8行的for循环应测试“nodeField”中是否存在下一个秩的任何“h1”(例如:如果输入秩为“A”,则测试是否存在秩为“B”的任何“h1”)。如果下一个秩的任何“h1”确实存在,则nextNodeRank应等于true(此变量影响第17行的If语句) 是否有人知道如何修复for循环,以实现预期的输出Javascript For循环应查找是否存在值,javascript,jquery,function,for-loop,if-statement,Javascript,Jquery,Function,For Loop,If Statement,对于上下文,下面的函数将参数“rank”作为大写字母(例如:“A”)。“nodeField”是一个div 当代码运行时,下面的代码将解释输入“rank”,并在“nodeField”后面附加一个“h1”。每个“h1”都有一个不同的id,第一个字母是它的等级,第二个字母是它在等级中的位置(参见第19行和第21行)。第8行的for循环应测试“nodeField”中是否存在下一个秩的任何“h1”(例如:如果输入秩为“A”,则测试是否存在秩为“B”的任何“h1”)。如果下一个秩的任何“h1”确实存在,则n
var alphabet = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
var aI = 0;
function addNode(rank) {
var kill = false;
var nextNodeRank = false;
for (i = 0; i < $("#nodeField>h1").length; i++) {
if ((kill = false)&&($("#" + alphabet[alphabet.indexOf(rank) + 1] + alphabet[i]).length !== 0)) {
kill = true;
nextNodeRank = true;
}
}
var newNode = document.createElement("h1");
newNode.innerHTML = 0;
if (nextNodeRank == true) {
aI = 0;
newNode.id = rank + alphabet[aI];
} else {
newNode.id = rank + alphabet[aI];
}
document.getElementById("nodeField").appendChild(newNode);
aI++;
}
var字母表=[“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”];
var-aI=0;
函数addNode(秩){
var kill=false;
var nextNodeRank=false;
对于(i=0;i<$(“#nodeField>h1”)。长度;i++){
if((kill=false)&($(“#”+字母表[alphabet.indexOf(rank)+1]+字母表[i])。长度!==0)){
kill=true;
nextNodeRank=true;
}
}
var newNode=document.createElement(“h1”);
newNode.innerHTML=0;
if(nextNodeRank==true){
aI=0;
newNode.id=等级+字母[aI];
}否则{
newNode.id=等级+字母[aI];
}
document.getElementById(“nodeField”).appendChild(newNode);
aI++;
}
严格关注您的问题“测试节点字段
中是否存在下一级别的h1
”,无需使用循环
其他参考资料
函数下一个事务(秩){
变量字母表=[“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”];
设nextRank=alphabet[alphabet.indexOf(秩)+1]
nextNodeRank=$(`nodeField>h1[id^=“${nextRank}]”)。长度
log(${nextRank}列组的${nextNodeRank}元素);
}
nextRankElements(“A”);
nextRankElements(“B”);
nextRankElements(“C”)代码>
第一A
第一B
第二个B
1st C
此C不计入
严格关注您的问题“测试节点字段
中是否存在下一级别的任何h1
”,这可以不使用循环进行
其他参考资料
函数下一个事务(秩){
变量字母表=[“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”];
设nextRank=alphabet[alphabet.indexOf(秩)+1]
nextNodeRank=$(`nodeField>h1[id^=“${nextRank}]”)。长度
log(${nextRank}列组的${nextNodeRank}元素);
}
nextRankElements(“A”);
nextRankElements(“B”);
nextRankElements(“C”)代码>
第一A
第一B
第二个B
1st C
如果((kill=false…
,大概你的意思是=
我尝试了这个,但它并没有影响输出。请提供更多示例代码,特别是一些HTML。理想情况下,使用HTML/JS代码段工具提供一个可运行的示例。不幸的是,这不起作用,因为我在部分代码中使用了JQuery。我无法从我的fi将JQuery链接到我的代码les到堆栈溢出。如果((kill=false…
,大概你的意思是=
我尝试了这个,但它并没有影响输出。请提供更多示例代码,特别是一些HTML。理想情况下,使用HTML/JS代码段工具提供一个可运行的示例。不幸的是,这不起作用,因为我在部分代码中使用了JQuery。我无法从我的fi将JQuery链接到我的代码les到堆栈溢出。您可以包括jquery tho@TBQTL的cdn版本。这不起作用,因为“nodeField”中所有“h1”的id都有两个字符长。我无法使用您编写的代码从h1的id中仅提取第一个字符。不过,感谢您的帮助。这不起作用,因为“nodeField”中所有“h1”的id都不起作用是两个字符长。我无法使用您编写的代码从h1的id中仅提取第一个字符。不过,感谢您的帮助。
let nextRank = alphabet[alphabet.indexOf(rank) + 1]
nextNodeRank = $(`#nodeField>h1[id^="${nextRank}"]`).length
if (nextNodeRank) {
// There are elements in the nextRank
}