> 웹 프론트엔드 > HTML 튜토리얼 > HTML里 关于 name 和 id_html/css_WEB-ITnose

HTML里 关于 name 和 id_html/css_WEB-ITnose

WBOY
풀어 주다: 2016-06-21 09:39:27
원래의
1087명이 탐색했습니다.

<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>
로그인 후 복사

 </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>
로그인 후 복사


<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>
로그인 후 복사


初学,也上网了查了一下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节点下面都很多属性的,特别还有些浏览器自定义的属性,有用到的那几个先熟悉,渐渐就会用起来了

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿