ASP.NET中,使用javescript有不懂的地方。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!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 runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
alert(document.links.length);
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="Default2.aspx" id="link">who</a>
</div>
</form>
</body>
</html>
document.links.length这句得出的结果是0,我从书上看到的document.links是超连接语句的集合,但我有一个<a></a>但为什么还是0呢?
------解决方案--------------------<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!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 runat="server">
<title>无标题页 </title>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="Default2.aspx" id="link">who </a>
</div>
<script language="javascript" type="text/javascript">
alert(document.links.length);
</script>
</form>
</body>
</html>
------解决方案--------------------alert的时机不对。你修改一下:
<script language="javascript" type="text/javascript">
window.onload=function(){alert(document.links.length);}</script>
------解决方案-------------------- window.onload=function(){alert(document.GetElementById("links").length);}
------解决方案--------------------位置错误。应放在链接后
------解决方案--------------------等页面那些加载完以后再alert
放在最后,或者加在window.onload中
------解决方案--------------------楼上都说完了,js代码不放到函数里会按从上到下顺序执行
------解决方案--------------------页面加载的时候从上往下,前走的alert,再走超链接,所以你应把alert的js放在超链接下面写,或写在function里调用
------解决方案--------------------<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页 </title>
</head>
<body onload="alert(document.links.length);">
<form id="form1" runat="server">
<div>
<a href="Default2.aspx" id="link">who </a>
</div>
</form>
</body>
</html>