gpt4 book ai didi

Javascript 获取 getElementsByClassName 中的元素数量

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

我有以下 JavaScript 代码:

b = document.getElementsByClassName('name1');
c = document.getElementsByClassName('name2');
if (b.length != 0) {
document.getElementByTagName('body')[0].innerHTML = b[0].innerHTML
else if (c.length != 0) {
document.getElementByTagName('body')[0].innerHTML = c[0].innerHTML
}
else document.getElementByTagName('body')[0].innerHTML = 'error';

但我没有得到所需的渲染。即使存在类名 name1 和 name2 的 div,整个页面也会呈现。

我做错了什么?

最佳答案

  1. 您跳过了 if 语句中的右 } 括号;
  2. 原生 JavaScript 中没有 getElementByTagName 方法;
  3. 您最好改用document.body

这是更正确的代码:

var b = document.getElementsByClassName("name1"),
c = document.getElementsByClassName("name2");

if (b.length > 0) {
document.body.innerHTML = b[0].innerHTML;
} else if (c.length > 0) {
document.body.innerHTML = c[0].innerHTML;
} else {
document.body.innerHTML = "error";
}

另外,我不建议您更改 .innerHTML 属性,使用 .appendChild() 方法会更有效,即:

document.body.appendChild(document.createTextNode("error"));

关于Javascript 获取 getElementsByClassName 中的元素数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16668889/

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