2012-02-16 88 views
2

我正在使用Chrome和構建開發人員工具。我做了在控制檯下面「<HTMLImageElement>對於看起來存在的對象有沒有方法」錯誤

$('.votes > a > img')[0] 

我得到這個

<img src="/myimage_png"> 

但如果我這樣做

$('.votes > a > img')[0].get(0).tagName 

我得到

TypeError: Object #<HTMLImageElement> has no method 'get' 

我不明白爲什麼有時我能夠做到.get(0).tagName,有時我不是(取決於我的選擇器當然)

+0

使用'[0]'或'.get(0)',而不是兩者。 – 2012-02-16 03:04:24

回答

5

.get()從元素列表中檢索指定的DOM元素。東西調用$('.votes ...')返回這樣一個元素列表。您用[0]取消引用該列表,獲取找到的第一個節點。這意味着你不再使用DOMNode列表,你正在使用DOMElement,而DOMElement沒有使用.get()方法。

2

jQuery對象的數字索引器(使用[0])將返回位於jQuery結果數組中該位置的DOM元素。

在你的

$('.votes > a > img')[0].get(0).tagName 

你在做什麼時使用索引取回的DOM元素,然後嘗試使用get方法反對例子。

使用分度器或get將導致同樣的事情,因爲它們都在jQuery的結果陣列中的特定點返回的DOM元素(唯一的主要區別是get()不帶參數只返回DOM元素)。

相關問題