Home > Web Front-end > HTML Tutorial > HTML里 关于 name 和 id_html/css_WEB-ITnose

HTML里 关于 name 和 id_html/css_WEB-ITnose

WBOY
Release: 2016-06-21 09:39:27
Original
1084 people have browsed it

<script type="text/javascript">function fun(){	document.getElementsByName("haha").reset();}</script></script><body><form name="haha"><!--这里要实现姓名和座号重置,要用id ,用name没有反应-->    姓名:<input type="text" /><br />	座号:<input type="text" /><br />	<input type="button" value="重置" onClick="fun()"><br /></form> </body>
Copy after login

 </head><script type="text/javascript">function check(){	document.getElementsByName("myCheck").checked=true}function uncheck(){	document.getElementsByName("myCheck").checked=false}</script></head><body><form><input type="checkbox" name="myCheck" /><!--这里也不能用name...用了id才有反应--><input type="button" onclick="check()" value="选定复选框" /><input type="button" onclick="uncheck()" value="取消选定复选框" /></form> </body>
Copy after login


<head><script type="text/javascript">function check(browser)  {  document.getElementById("answer").value=browser  }</script></head><body><p>您喜欢哪款浏览器?</p><form><input type="radio" name="browser" onclick="check(this.value)" value="Internet Explorer">Internet Explorer<br /><input type="radio" name="browser" onclick="check(this.value)" value="Firefox">Firefox<br /><input type="radio" name="browser" onclick="check(this.value)" value="Netscape">Netscape<br /><input type="radio" name="browser" onclick="check(this.value)" value="Opera">Opera<br /><br /><!--写到这里纳闷了特久,为什么例题的name就可以单选,我改成Id后就变成多选 并且勾了还不能取消-->您喜欢的浏览器是:<input type="text" id="answer" size="20"></form></body>
Copy after login


初学,也上网了查了一下NAM和ID两个的用法区别,但看不大懂,请前辈指教一下 究竟什么时候要用name 什么时候要用id。像上面三种情况究竟两者是怎么回事?


回复讨论(解决方案)

name:
1、表单提交的时候数据通过name来获取
2、做锚点
3、Object等可以通过name来引用

id
1、唯一标示符, 通常用来得到该元素,比如document.getElementById

当然得到元素也可以用name,document.getElementsByTagName,这样得到的是一个数组,需要再通过其它的标示符来确定元素,比如class、title,总之id是唯一的。

对了,你例子里面的raido里面也是通过name来确定是分组,name相同的raido只会有一个值

用开发人员工具打个断点,看看document.getElementsByName("haha")到底是个什么东西,有哪些属性,就一目了然了啊

才发现我把楼主的第二个代码看漏了,我说的第二个是指楼主的第三个.
第二个也是和第一个同样的错误:
function check(){     document.getElementsByName("myCheck").checked=true } 
function uncheck(){     document.getElementsByName("myCheck").checked=false } 
应该改成:
function check(){     document.getElementsByName("myCheck")[0].checked=true } 
function uncheck(){     document.getElementsByName("myCheck")[0].checked=false } 

用开发人员工具打个断点,看看document.getElementsByName("haha")到底是个什么东西,有哪些属性,就一目了然了啊

用firebug调试,断了一下看document.getElementsByName("haha")发现里面有好多东西》。。不知道应该找哪个= =

引用 4 楼 p2227 的回复:用开发人员工具打个断点,看看document.getElementsByName("haha")到底是个什么东西,有哪些属性,就一目了然了啊

用firebug调试,断了一下看document.getElementsByName("haha")发现里面有好多东西》。。不知道应该找哪个= = 你要找哪个就把哪个的值打印出来

引用 4 楼 p2227 的回复:用开发人员工具打个断点,看看document.getElementsByName("haha")到底是个什么东西,有哪些属性,就一目了然了啊

用firebug调试,断了一下看document.getElementsByName("haha")发现里面有好多东西》。。不知道应该找哪个= = 是这样子的了~~你先找一个Id的,再对比一个Name的,一般说来Name的要选取一下数组,即
document.getElementsByName("haha") [0]一下,每个dom节点下面都很多属性的,特别还有些浏览器自定义的属性,有用到的那几个先熟悉,渐渐就会用起来了

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template