2012-05-28 55 views
6

有時我使用jQuery來測試我的CSS。我經常會用一個簡單的選擇(在Chrome Web開發控制檯)JQuery CSS選擇器e.fn.e.init

我會像$('.topclass div')類型的東西,並取回

e.fn.e.init[125] 

以JavaScript包含節點object。 (通常它非常複雜的選擇器,但有時很簡單)。

爲什麼我得到這個?這是否意味着標籤丟失或我的選擇器錯誤?

編輯:HTML基本上是嵌套的div(這可能是因爲它得到它的孩子的div嗎?)

回答

5

這意味着你的選擇包含了太多的比賽,以及開發工具縮短在控制檯中的代表性。

試試這個控制檯:

var a = [] 
for (var i = 0; i < 10; i++) { a.push('foobar'); } 

如果你嘗試檢查a,你會看到["foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar"]。現在,添加一些元素:

for (var i = 0; i < 100; i++) { a.push('foobar'); } 

現在,如果你嘗試檢查它,你會看到Array[110]

本質上並不意味着您的選擇器是錯誤的,但如果您期望的元素較少,則可能是錯誤的。

+0

是的,我看到我將它改爲$('div'),並得到了更高的數字,所以它必須是。那麼我的選擇器顯然是錯誤的 – Akshat