我的脚本是这样的:我应该把DOM操作JS脚本放在`<head>`还是在关闭`</body>`之前?
<script>
var queryString = window.location.search;
var pos = queryString.indexOf("?refer=");
var referEmail = queryString.substring(pos+7);
document.getElementById("referral-code").value = referEmail;
</script>
和HTML代码如下所示:
<form action="/" method="POST">
<label for="referral-code">Referrer's code (hidden): </label>
<input type="text" name="referral_code" id="referral-code"/>
<br/>
<label for="me-email">My Email: </label>
<input type="text" name="self_email" id="me-email"/>
<br/>
<input type="submit" value="Step Inside" />
</form>
我认为它可能是更清洁把<script>
标签中<head>
。但是,我不确定该脚本是否会等待执行,直到<body>
中的DOM被处理。如果没有,document.getElementById("referral-code")
将会返回undefined
?
有没有人有关于<head>
中的脚本是否将等待被执行直到整个HTML被加载的想法?我应该把DOM操作脚本放在<head>
还是在关闭</body>
之前?
头部分中的脚本在主体解析之前执行。但是你可以把你的代码放入一个你分配为'onload'处理函数或'DOMReady'处理函数的函数中,*然后*这个函数将在*正文被解析后执行。 (注意,'getElementById()'永远不会返回'undefined':如果没有找到匹配的元素,它将返回'null'。) – nnnnnn
正文结束时,如果你想放在头部see.http:// stackoverflow/29772994 /如何在头部添加脚本脚本/ 29773084#29773084 – Tushar
可能的http://重复stackoverflow.com/questions/29772994/how-to-have-a-script-in-the-head-add-script-at-the-end-of-the-body/29773084 – Tushar