求教,为什么不把函数放在function里就无法出来正确结果?

来源:9-2 getElementsByName()方法

Lotusm

2018-08-06 19:08

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>GET Name</title>

<script>

var pick=document.getElementsByName("myt");

alert(pick.length);

</script>

</head>

<body>

<input name="myt" type="text" value="1">

<input name="myt" type="text" value="2">

<input name="myt" type="text" value="3">

<input name="myt" type="text" value="4">

<input name="myt" type="text" value="5">

<input name="myt" type="text" value="6">

</body>

</html>

求教,为什么必须要把这段代码放在function里去再用onclick去执行呢,这样出来结果一直是0,放在function里再加个onclick的按钮才能出来结果为6

写回答 关注

1回答

  • 沐沐26
    2018-08-06 21:09:57
    已采纳

    放在head中的script代码会在页面加载完成之前就读取(而放在body的会在整个页面加载完之后读取),这时候那些<input>还没有定义呢,个数当然是0,而用onclick调用函数的时候<input>已经定义好了所以个数是6。如果实在不想用onclick可以把你的script代码块放在body中,而且是6个<input>的后面,因为是按顺序执行的

    Lotusm

    非常感谢!明白了

    2018-08-06 23:52:01

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468726 学习 · 22064 问题

查看课程

相似问题