<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script type="text/javascript" src="jquery.js"></script>
 </head>
 <body>
  <input name="a" value="123" οnclick="s()">点我额</input>
  <input id="s" value="wwwwwwwwww" >再来一次</input>
 </body>
 <script>

 function s(){

var qq = "http://www.as.com/iuy/jf/saj";
alert(qq.replace(/http:\/\/[^\/]+/,''));


alert(document.getElementsByName('a')[0].value);
alert(document.getElementById('s').value);
alert("name选中"+$("#a").val()+" ,"+$("#s").val());
 }
 </script>

</html>


运行试试!需要导入jquery.js插件

注意:name可以不唯一,id必须唯一

1.document.getElementsByName来选中name值,即使对应的name只有一个,也必须在后面跟[索引号]

2.getElementsByName中有字母s,而getElementById里没有,因为getElementsByName获取的是数组

3.通过DOM获取值用value,不是val(),也不是val,而jQuery通过Id获取的值用val(),这是区别

4.jQuery不能通过$("#name")的方式选中name,而$("#id")可以选中id


name适用范围:

button、inputmeta、object、param、select、textarea、a、applet、form、frame、iframe、img、map

id适用范围:

所有

name与id的命名规则

id与name属性的取值,必须以英文字母开始([A-Za-z]),后面可跟随:

  • 英文字母
  • 数字([0-9])
  • 连字符("-")
  • 下划线("_")
  • 冒号(":")
  • 句点(".")

参考 :http://www.dreamdu.com/blog/2014/4/22/html_name_vs_id/



document.getElementsByName()    是根据控件名称获取这个控件对象,因为控件名称可以相同,返回的是一个对象数组。 
document.getElementById()      是根据控件ID获取这个控件对象,因为控件ID唯一,返回的是一个对象。 
document.getElementsByTagName() 是根据控件TAG获取这个控件对象,返回的是一个对象数组。 
例如: 
HTML中有控件如下: 
    <input type="radio" id="radio1" checked="checked" name="radiogroup1"  value="1"/> 
    <input type="radio" id="radio2" name="radiogroup1" value="2"/> 
    <input type="radio" id="radio3" name="radiogroup1" value="3"/> 
则: 
 document.getElementsByName('radiogroup1') 取得的是这三个控件,可以用      document.getElementsByName('radiogroup1')[0] 取得的是第一个控件。 
 document.getElementById('radio1')取得的是第一个控件, 

 document.getElementsByTagName('input') 取得的是这三个控件,

可以用document.getElementsByTagName('input')[0] 取得的是第一个控件。 

getElementsByName('delID')返回的是所有名称为'delID'的控件组成的数组,数组就是一种集合。



本文转载:CSDN博客