依id或name取得元素

一點小筆記。假設有個input type="text"。

<input id="myTxti" name="myTxtn" class="myTxtc" type="text" />

要如何利用他的id, name, class取得他?

在Javascript可以如以下這樣做來取得DOM物件:

藉由id。

document.getElementById("myTxti").value="id";

藉由name。

document.getElementsByName("myTxtn")[0].value="name";

因為document.getElementsByName()會傳回DOM物件陣列,要取得物件必須指定索引。

在jQuery可以如以下這樣做來取得jQuery物件:

藉由id。

$("#myTxti").val("id");

藉由class。

$(".myTxtc").val("class");

若要在jQuery裡藉由name來取得,可以這樣做:

$(document.getElementsByName("myTxtn")[0]).val("name");

這邊要注意,像以下這樣不指定索引,會將一次處理所有有相同name的物件。

$(document.getElementsByName("myTxtn")).val("name");

類似的,若藉由jQuery取得,但想要使用DOM物件的操作可以如下這樣做:

$("#myTxti")[0].value="id";

因為id是唯一不重複的,所以指定索引時指定0即可。但若是藉由class,就要注意指定索引的順序。