javascript中的.push()命令不起作用?
当我尝试将url推送到数组中,然后在window.open()中打开数组中的所有url时,我得到一个空错误。我认为这是因为url没有正确地放置在要启动的数组中。我做错了什么?谢谢javascript中的.push()命令不起作用?,javascript,html,Javascript,Html,当我尝试将url推送到数组中,然后在window.open()中打开数组中的所有url时,我得到一个空错误。我认为这是因为url没有正确地放置在要启动的数组中。我做错了什么?谢谢 <!DOCTYPE HTML> <html> <head> </head> <body> <form> Series Name: <input type="text" name=
<!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 urlArray=[];
函数AddSeries(){
var url=document.getElementById('serieslink');
urlArray.push(url);
}
函数OpenSeries(){
for(url在url数组中){
警报(url.constructor==数组);
打开(url,“U空白”);
}
}
我很抱歉,如果错误是明显的,我有点新的编码,所以我相信这段代码是不完美的任何方式。
先谢谢你
谢谢大家,两个回答的组合让我的代码按照我希望的方式工作。获取文本框的值,而不是文本框的值
您需要添加文本框的值,而不是文本框本身
var url = document.getElementById('serieslink').value;
运行document.getElementById()
时,返回值是一个具有许多属性和方法的对象。你可以
使用适当的for循环
由@Juhana指出
in循环中的将为您提供关联数组或对象的键。如果数组是非关联的(所有数组都在JavaScript中),则使用for of
循环
将脚本标记放入正文中
由@Xufox指出
标记应位于
标记的内部。建议将脚本放在正文末尾以减少加载时间。HTML代码不能介于
和
之间。将您的
移动到
之前。另外,请学会自己调试这些简单的编码错误。@Juhana虽然这可能是另一个问题,但这并不是阻止push()将url放入数组的原因。@Xufox我的close body标记的位置对程序的运行没有影响它仍然是无效的HTML。