注册 登录
编程论坛 JavaScript论坛

一个很简单的问题

LIU61ZHU61ZH 发布于 2010-10-28 10:05, 1071 次点击
程序代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">

 </head>


 <body>
  <script language="javascript">
    var s=document.getElementsByTagName("body")[0].childNodes[0].value;
    alert(s);//想输出苹果
  </script>
  <form>
    <input type="radio" value="苹果">
  </form>

 </body>
</html>

想输出“苹果”,也就是单选按钮value属性的值,看看我哪错了,有哪几种方法可以实现?
11 回复
#2
foktime2010-10-28 14:03
程序代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
</head>

<body>
  <form>
    <input type="radio" value="苹果">
  </form>
</body>
<script language="javascript">
  var s = document.getElementsByTagName("input")[0].value;
  alert(s); //想输出苹果
</script>
</html>
#3
筱晓绾2010-10-28 14:20
<script></script>应该放到Body外面,LS的做法正确。
#4
jackieli20742010-10-28 14:46
2楼
#5
gtbHypo2010-10-28 16:44
学习了
#6
LIU61ZHU61ZH2010-10-28 19:55
回复 2楼 foktime
,你说得不完全对,<script></script>放到Body里面也可以的
程序代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
</head>

<body>
  <form>
    <input type="radio" value="苹果">
    <input type="radio" value="桃子">
  </form>
  <script language="javascript">
  var s = document.getElementsByTagName("input")[0].value;
  var r = document.getElementsByTagName("input")[1].value;
  alert(s);
  alert(r);
</script>
</body>
</html>



 
#7
LIU61ZHU61ZH2010-10-28 19:57
我的失误,我上面说的是“筱晓绾”
#8
LIU61ZHU61ZH2010-10-28 19:58
谢谢你们,以后请多多指教
#9
foktime2010-10-29 08:21
3楼说的不在点子上
问题不是script标签放在body里body外的问题,是获取dom元素的js写法,还有脚本应该放的位置。通常脚本放在<head>里,在这个例子里如果放head里是不行的,执行脚本的时候dom元素还没有加载,找不到input。所以放input的下面
#10
流浪天边2010-11-22 11:18
学习下啊!
#11
筱晓绾2010-11-22 11:36
是的,我错了,程序运行得遵循它的运行规律,违反了则无法达到预期效果!<script>是可以放在body里面运行的.传统的做法是放在body外面,这种做法的好处在于脚本的位置是可预测的——开发者知道该到何处去找它们。这种做法还有一个优点就是可以确保在文档显示之前,所有的 JavaScript 都已被加载并执行。

而这种方法的缺点则在于,你的脚本会延迟文档的显示,而且该脚本无权使用文档中的 HTML 。因此你就只得延迟所有会改变该文档 HTML 的脚本的执行,直到 HTML 文档加载完成为止。通过 onload 事件处理器或各种各样的 DOMready 或 contentAvailable 技术可以实现这一点——当然,它们都不是无懈可击的,而且其中绝大多数都依赖于特定的浏览器特性.
#12
huaerlala2010-11-22 21:04
虽然没看那么仔细  但是<Script>放在<body>里面是完全可以的
1