Javascript alert()不适用于文档方法
一个非常简单的程序,但我不知道为什么它不能被执行 这是我的HTML文件:-Javascript alert()不适用于文档方法,javascript,html,alert,Javascript,Html,Alert,一个非常简单的程序,但我不知道为什么它不能被执行 这是我的HTML文件:- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> <head> <script type="tex
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<script type="text/javascript" src="example.js"></script>
<title>Tag Name Locator</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<p>
There are 3 different types of element in this body:
</p>
<ul>
<li>paragraph</li>
<li>unordered list</li>
<li>list item</li>
</ul>
</body>
</html>
加载浏览器时,它会正确显示
有什么答案吗?在结束正文之前添加您的
js
...
...
<script type="text/javascript" src="example.js"></script>
</body>
。。。
...
看看当你加入head时会发生什么
查看添加到body时发生的情况将JS文件脚本放在底部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<title>Tag Name Locator</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<p>
There are 3 different types of element in this body:
</p>
<ul>
<li>paragraph</li>
<li>unordered list</li>
<li>list item</li>
</ul>
</body>
</html>
<script type="text/javascript" src="example.js"></script>
标记名定位器
此主体中有3种不同类型的元素:
- 段落
- 无序列表
- 列表项
在DOM元素未准备就绪的情况下,警报未调用到期js文件先执行。最好使用jQuery获得相同的..在DOM完全加载之前激发的javascript(如果脚本包含在头中)中的代码。因此listItems.length最初为0,因此不会显示警报。所以您需要将该javascript代码放入一个函数中,并在body标记的onload事件上调用该函数。像这样 在HTML中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<script type="text/javascript" src="example.js"></script>
<title>Tag Name Locator</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body onload="PageLoaded()">
<p>
There are 3 different types of element in this body:
</p>
<ul>
<li>paragraph</li>
<li>unordered list</li>
<li>list item</li>
</ul>
</body>
</html>
标记名定位器
此主体中有3种不同类型的元素:
- 段落
- 无序列表
- 列表项
在JS中
函数PageLoaded()
{
var listItems=document.getElementsByTagName(“li”);
对于(变量i=0;i
您的javascript在完全构建之前就被调用了。因此,它不知道这些锂元素的存在。加载文档后,需要调用此javascript:
window.onload = function()
{
var listItems = document.getElementsByTagName("li");
for (var i = 0; i < listItems.length; i++)
{
alert(listItems[i].nodeName);
}
}
window.onload=function()
{
var listItems=document.getElementsByTagName(“li”);
对于(变量i=0;i
或者按照许多人的建议,将其写在页面底部,这将确保在将这些文件加载到DOM中后执行
jsiddle:将脚本放在页面末尾
<body style="height:700px" >
<p>
There are 3 different types of element in this body:
</p>
<ul>
<li>paragraph</li>
<li>unordered list</li>
<li>list item</li>
</ul>
</body>
<script type="text/javascript" src="example.js"></script>
此主体中有3种不同类型的元素:
- 段落
- 无序列表
- 列表项
请用脚本标记显示完整的javascript代码。如果该循环在example.js中,请将其包装到一个方法中,并在bodyThank的onload
中调用该方法。所有的建议都很有效!刚从DOM开始,所以我没有意识到这一点。
function PageLoaded()
{
var listItems = document.getElementsByTagName("li");
for (var i = 0; i < listItems.length; i++)
{
alert(listItems[i].nodeName);
}
}
window.onload = function()
{
var listItems = document.getElementsByTagName("li");
for (var i = 0; i < listItems.length; i++)
{
alert(listItems[i].nodeName);
}
}
<body style="height:700px" >
<p>
There are 3 different types of element in this body:
</p>
<ul>
<li>paragraph</li>
<li>unordered list</li>
<li>list item</li>
</ul>
</body>
<script type="text/javascript" src="example.js"></script>