getElementByClassName方法不返回任何元素
getElementByClassName method returns no elements
这应该不是一个困难的任务,但由于各种原因,它一直不工作,我不知道为什么。基本上,我想在下面的代码中删除类名为"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
属性之前,脚本正在执行。
编辑
感谢这个评论
或者你可以在JQuery中使用body onload函数
$(document).ready(function() {
// script here
});
相关文章:
- 从dom中删除任何元素后,Touchmove事件停止触发
- 制作 JavaScript 代码适用于任何元素
- jQuery:append()不是't在选择器中插入任何元素
- 与任何元素的 .innerHTML 属性匹配的 JavaScript 正则表达式
- 观察任何元素何时更改
- .scrollInto查看带有数据标记的任何元素,或使用类对带有数据标签的内容进行分段
- 以elementsByClassName数组的任何元素为目标
- 如何访问迭代模板中的任何元素
- 检查是否有任何元素具有焦点
- 如何在没有任何元素id的情况下检索表中的文本内容
- 正在Jquery中的列表中不包含任何元素的列表中删除
- 为什么这不返回任何元素
- 如何获取任何元素的渲染上边距
- Div 高度不会在附加任何元素时增加
- 在鼠标悬停/鼠标出类中的任何元素时更改元素 ID
- 使滑动水平线上的任何元素居中
- 选择器“app”与任何元素都不匹配
- 在网页上单击任何元素时触发 js 函数
- JQuery - 使我悬停在包含某个类的任何元素的内容变暗
- 有没有办法使 ID 对于页面上的任何元素而不是文档的唯一性