1. 程式人生 > >通過name或者id獲取value

通過name或者id獲取value

<!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" onclick="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'的控制元件組成的陣列,陣列就是一種集合。