.push()命令在javascript中不起作用
.push() command in javascript not working?
当我尝试将url推入数组然后window.open()数组中的所有url时,我得到一个空错误。我相信这是因为url没有被正确地放在数组中开始。我做错了什么?谢谢。
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<form>
Series Name:
<input type="text"
name="series1name"
id="seriesname"/>
<br/>
Series Link:
<input type="text"
name="series1link"
id="serieslink"/>
</form>
<div>
<button onclick="AddSeries()">Add A New Series </button>
</div>
<div>
<button onclick="OpenSeries()">Open Incomplete Series </button>
</div>
</body>
<script type="text/javascript">
var urlArray = [];
function AddSeries() {
var url = document.getElementById('serieslink');
urlArray.push(url);
}
function OpenSeries() {
for (url in urlArray) {
alert(url.constructor === Array);
window.open(url, '_blank');
}
}
</script>
</html>
如果错误很明显,我很抱歉,我对编码有点陌生,所以我确信这个代码无论如何都不完美。提前谢谢你。
谢谢大家,两个回复的组合让我的代码按照我想要的方式工作。
获取文本框的值,而不是文本框的值
你需要添加文本框的值,而不是文本框本身
var url = document.getElementById('serieslink').value;
运行document.getElementById()
时,返回值是一个具有许多属性和方法的对象。您可以在这里阅读有关Element对象的内容。
使用合适的for循环
@Juhana指出 for in
循环将为您提供关联数组或对象的键。如果数组是非关联的(JavaScript中所有数组都是非关联的),则使用for of
循环代替。你可以在这里阅读
把script标签放到Body
@Xufox指出 <script>
标签应该在<body>
标签内。建议将脚本放在正文的末尾,以减少加载时间。
相关文章:
- 幻灯片滚动javascript不起作用
- 当我在浏览器中打开HTML文件时,javascript不起作用
- 来自MDN的循环示例的JavaScript不起作用
- 在IE中切换javascript不起作用的复选框
- 在SVG中创建带有外来对象的文本区域的Javascript不起作用
- 寻呼<李>javascript不起作用
- 想制作一个基于URL的音频播放器,但Javascript不起作用
- 从Android设备浏览时Javascript不起作用
- 在 Javascript 不起作用的情况下为数字添加逗号
- 获取PHP变量的JavaScript不起作用
- 有些JavaScript不起作用
- 保存HTML文件后,Javascript不起作用
- onClick javascript不起作用
- 在Wicket ModalWindow中使用Panel时,HTML中的Javascript不起作用
- Jquery顶部的两行Javascript不起作用
- 当我通过Node服务器提供HTML时,为什么我的页面Javascript不起作用
- Javascript不起作用,但当放置断点并从chrome调试器工具中单击文件时,它可以正常工作
- 为不同的屏幕分辨率加载css样式的Javascript不起作用
- 在IE9中javascript不起作用,但在打开控制台后它就起作用了
- 为什么Javascript不起作用