我正在尝试使用 DOM 和 JS 获取属性值,但我无法让代码运行。为什么?
<!DOCTYPE html>
<HTML>
<HEAD>
<SCRIPT>
var x = document.getElementById("sw").getAttribute("src");
alert("src "+ x);
document.getElementById("sw").innerHTML ="src "+ x;
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<IMG id="sw" src="photo.jpg"/>
</FORM>
</BODY>
</HTML>
最佳答案
您的 HTML (DOM) 的标记尚未加载,在您的 JS 代码执行时尚未出现。这就是为什么您需要像这样将您移至 HTML 代码下方:
<!DOCTYPE html>
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM>
<IMG id="sw" src="photo.jpg"/>
<SCRIPT>
var x = document.getElementById("sw").getAttribute("src");
alert("src "+ x);
document.getElementById("sw").innerHTML ="src "+ x;
</SCRIPT>
</BODY>
</HTML>
或者您需要像这样在 DOMLoaded 事件上添加事件句柄:
<SCRIPT>
document.addEventListener("DOMContentLoaded", function(event) {
var x = document.getElementById("sw").getAttribute("src");
alert("src "+ x);
document.getElementById("sw").innerHTML ="src "+ x;
});
</SCRIPT>
关于javascript - JS DOM getAttribute() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37571744/