如何缩短此javascript表达式?document.createElement
How can I shorten this javascript expression? document.createElement
我想缩短这段js代码,你能吗?
<script>
var h = document.getElementsByTagName('head')[0],
s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'file.js';
h.appendChild(s);
</script>
我想是这样的,但不起作用:
<script>
var h = document.getElementsByTagName('head')[0],
s = document.createElement('script').type='text/javascript';
s.src = 'file.js';
h.appendChild(s);
</script>
您可以使用document.head而不是getElementsByTagName。因此:
s = document.createElement('script');
s.type = 'text/javascript';
s.src = 'file.js';
document.head.appendChild(s);
正如前面提到的Frédéric,现代浏览器默认情况下总是假设<script>
标记包含JavaScript。所以你可能会逃脱这样的惩罚。
(s = document.createElement("script")).setAttribute("src", "/path/to/file.js");
document.head.appendChild(s);
这个dirty实现的唯一限制是它不支持链接方法,因为setAttribute没有返回值。
这个怎么样
var h = document.getElementsByTagName('head')[0],
s = document.createElement('script').setAttribute("type", "text/javascript").setAttribute("src","file.js");
h.appendChild(s);
相关文章:
- 正在寻找比$(document).ready慢的$(window).load的替代方案
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 如何用更合适的内容替换document.write
- document.styleSheets不返回任何内容
- jQuery document.ready not working
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- reactjs this.refs vs document.getElementById
- 如何通过adf中的document.getElementById获取inputText字段值
- window.opener.document在ie中不起作用
- contentWindow.document.body is null
- document.applet.method在Mounatin Lion上抛出safari 6+JDK7异常
- document.getElementById(“st”).click();不起作用
- $(document).height和$(window).heaght都返回相同的值-使用的是正确的doctype
- AngularJS Navigation (li ng-repeat, create header li), DOM
- 使用Object.create()的角度服务继承
- jQuery document.ready停止代码
- document.getElementById并使用id名称
- 使用jQuery 1.8.1准备好多个$(document).是否有任何开销
- JavaScript's替换与document.create()结合的函数-这个代码是做什么的
- document.querySelector('.create-option:first-child')