byid
的時候,會根據
html
元素的id
屬性,根據規範
id應當是唯一的,用來標示乙個
element
,比如,
......
。所以返回唯一元素控制代碼或者
null
。對於表單控制項
等,在不指定
id的時候,
name
也會被視作
id,比如
type="text" name="abc" value="123">
也可以用
document.getelementbyidx("abc")
來獲取而
byname
,從名字上看,就可以知道,它返回的是複數個物件。它根據
name
屬性(name
可以重複),得到所有
name
屬性與引數相同的控制項組成的陣列,不存在時,返回
0長度陣列
(.length == 0,
而不是null)
比如type="text" name="abc" value="1">
type="text" name="abc" value="2">
type="text" name="abc" value="3">
var array = document.getelementsbyname("abc");
if (array.length == 0)
for (var i = 0; i
< array.length; i++)
當頁面上的控制項同名且多個的時候
,你首先做的是什麼
?判斷長度?的確
,從程式的嚴密角度出發
,我們是需要判斷長度
,而且有長度和沒長度是兩種引用方法
.我們來看
:oele= document.all.aaa ;//
這裡有乙個
aaa的物件
,但我們不知道它現在長度是多少
,所以沒辦法對它操作.因此
,我們要先做判斷長度的過程.如下
:if(oele.length){}else{};
在兩種情況下
,花括號裡面的內容寫法也是不一樣的
:if(oele.length)
}else;
但是這樣寫是不是太複雜了點
?而且當花括號裡面的**比較多的時候
,我們要寫兩遍**
,暈了先
~還好有
document.getelementsbyname()
這個方法
.它對乙個和多個的處理是一樣的
,我們可以用
:oele = document.getelementsbyname('aaa')
來引用當
oele只有1
個的時候
,那麼就是
oele[0],
有多個的時候
,用下標法
oele[i]
迴圈獲取
,是不是很簡單
?值得一提的是它對
name和id
的同樣有效的
.但是它只能應用到
document物件.
相對應的
,還有另乙個方法
,可以應用的物件會更廣一點
:getelementsbytagname,
比如我知道了乙個
......
我要取div
裡面的所有
input,
這樣寫就可以了
:aaa.getelementsbytagname_r('input'),
這樣就有效的可以和別的
div(
比如說有個叫
bbb的
div,
裡面的也是一樣的
input)
相區別.
同getelementsbytagname
相對應,
還有乙個
document.body.all.tags(),
能用這個方法的物件比
getelementsbytagname
要小得多.但比
getelementsbyname要多.
到這裡我們還要提一下getelementbyid,
它也是只有
document
物件才能使用
,而且返回的是陣列的第乙個元素,呵呵
,它的方法名都寫明了是
getelement
而不是getelements,所以,
千萬不要搞渾了
.
getElementById 方法及用法
顧明思義,get element by id,就是通過id來設定 返回html標籤的屬性及呼叫其事件與方法。用這個方法基本上可以控制頁面所有標籤,條件很簡單就是給每個標籤分配乙個id號 document.getelementbyid link href document.getelementbyid...
container of 的的的原理
另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...
存在的就是合理的,發生的即是必然的。
筆者有時候會想,什麼是對,什麼是錯?對於追求某一件事情之前首先會考慮,為什麼我要做這件事情。所以經過自我分析和生活周邊環境的總結。我認為,對於乙個人來,這是在站在個體的角度上說。什麼是對的?就是你自己覺得是對的,它就是對的。不過這個只是你自己的想法。主觀上的正確,不代表客觀上也受到了別人的認可。就拿...