gpt4 book ai didi

javascript - getElementsByClassName 方法不返回任何元素

转载 作者:行者123 更新时间:2023-12-03 12:22:52 24 4
gpt4 key购买 nike

这应该不是一项艰巨的任务,但由于某种原因它一直无法正常工作,我无法弄清楚为什么。基本上,我想删除下面代码中类名“def”的段落,但是脚本部分中使用的 getElementsByClassName 方法似乎无法检测到它,没有返回任何元素:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">

var elems = document.getElementsByClassName('def');
alert(elems.length);
while(elems[0]) {
elems[0].parentNode.removeChild(elems[0]);
}

</script>
</head>
<body>
<h1>This is a title</h1>
<p>Sample paragraph</p>
<p>Another sample paragraph</p>
<p class="def"><p id="definition">Text</p></p>
</body>
</html>

谁知道出了什么问题?提前致谢!

最佳答案

<script language="javascript">

var elems = document.getElementsByClassName('def');
alert(elems.length);
while(elems[0]) {
elems[0].parentNode.removeChild(elems[0]);
}

</script>

将其插入到 HTML 部分之后。

原因:在声明 HTML 属性之前执行脚本。

编辑

感谢这个comment

或者你可以在 JQuery 中使用 body onload 函数

$(document).ready(function() {
// script here
});

关于javascript - getElementsByClassName 方法不返回任何元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24355467/

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