Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript For循环应查找是否存在值_Javascript_Jquery_Function_For Loop_If Statement - Fatal编程技术网

Javascript 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

对于上下文,下面的函数将参数“rank”作为大写字母(例如:“A”)。“nodeField”是一个div

当代码运行时,下面的代码将解释输入“rank”,并在“nodeField”后面附加一个“h1”。每个“h1”都有一个不同的id,第一个字母是它的等级,第二个字母是它在等级中的位置(参见第19行和第21行)。第8行的for循环应测试“nodeField”中是否存在下一个秩的任何“h1”(例如:如果输入秩为“A”,则测试是否存在秩为“B”的任何“h1”)。如果下一个秩的任何“h1”确实存在,则nextNodeRank应等于true(此变量影响第17行的If语句)

是否有人知道如何修复for循环,以实现预期的输出

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
}