gpt4 book ai didi

javascript - 存储 for 循环结果以推送到 HTML

转载 作者:行者123 更新时间:2023-11-29 20:49:21 25 4
gpt4 key购买 nike

编辑:已解决。在这里的乐于助人的人帮助我解决了这个问题之后,我意识到这个问题与我的 getElementsByClassName 选择器有关。抱歉,如果标题具有误导性。原始问题如下。

我从这个函数的 for 循环中得到了预期的结果,但我无法将它们打印到 HTML 中。

有人能帮我指出我遗漏了什么吗?指向正确方向的一点就可以了,我可以自己做一些跑腿工作。

非常感谢任何建议。

HTML:

<input type="text" name="searchString" class="searchString">

<span class="longestWordInput"></span>
<span class="longestWordCountInput"></span>

<button class="generate">Generate</button>

JavaScript:

function longestWordFunc() {
var stringSplit = document.querySelector(".searchString").value.split(" ");

let longestWordCount = 0;
let longestWord = "";

for(var i = 0; i < stringSplit.length; i++) {
if(stringSplit[i].length > longestWordCount) {

longestWordCount = stringSplit[i].length;
longestWord = stringSplit[i]
}
}

//Logging expected result
console.log(longestWordCount)
console.log(longestWord)

//Print to HTML not working
document.getElementsByClassName("longestWordInput").innerHTML = longestWord;
document.getElementsByClassName("longestWordCountInput").innerHTML = longestWordCount;
};

document.querySelector(".generate").addEventListener("click", longestWordFunc);

最佳答案

问题是 getElementsByClassName()返回一个 NodeList(一个类似数组的结构,包含具有指定类名的所有元素)而不是单个元素。

您可以像这样访问您的单个 span 元素

document.getElementsByClassName("longestWordInput")[0].innerHTML = longestWord;

或者你可以使用 querySelector()相反

document.querySelector(".longestWordInput").innerHTML = longestWord;

关于javascript - 存储 for 循环结果以推送到 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52689812/

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