依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,就要注意指定索引的順序。