大家好,我想要一些帮助,因为我是JS的新手 我希望这段代码能够显示元素“aaa”的href警告,但没有任何反应。你能解释一下我做错了什么吗? 感谢
<html>
<body>
<script type="text/javascript">
function myFunction(){
var xxx = document.getElementById("aaa").href;
alert(xxx);
}
myFunction();
</script>
<a href="Moody'sKMVproject-studentsample2.doc" id="aaa">file word</a>
</body>
</html>
请删除此问题,因为它是重复的 Why does jQuery or a DOM method such as getElementById not find the element?
我很抱歉发布..我是JS的新手,我不知道首先要搜索什么
答案 0 :(得分:1)
问题是您的脚本是在呈现标记之前执行的。将脚本标记放在标记之后,它应该可以工作。
答案 1 :(得分:1)
脚本在DOM准备好之前执行,因此没有标识为aaa
的元素。
您可以在
window.load=function(){
function myFunction(){
var xxx = document.getElementById("aaa").href;
alert(xxx);
}
myFunction();
}
您还可以在关闭正文标记附近定义脚本标记。在这种情况下,DOM已准备就绪,它将能够找到id
<body>
<a href="Moody'sKMVproject-studentsample2.doc" id="aaa">file word</a>
<script type="text/javascript">
function myFunction(){
var xxx = document.getElementById("aaa").href;
alert(xxx);
}
myFunction();
</script>
</body>
答案 2 :(得分:1)
首先,您应该使用Developer Console查找错误(右键单击页面,然后检查元素)。
无论如何,问题似乎是你的JavaScript在你制作锚(a)元素之前完成了。
<html>
<body>
<a href="Moody'sKMVproject-studentsample2.doc" id="aaa">file word</a>
<script type="text/javascript">
function myFunction(){
var xxx = document.getElementById("aaa").href;
alert(xxx);
}
myFunction();
</script>
</body>
这应该有用。
答案 3 :(得分:-1)
就像帕特里克所说的那样,将标签移动后,我认为href的值是你要找的
var xxx = document.getElementById("aaa").getAttribute("href");