2012-05-28 13 views
6

Czasami używam jquery do przetestowania mojego css. I często będę używać prostego selektora (w konsoli Web Developer Chrome)JQuery CSS Selector e.fn.e.init

będę wpisać w coś $('.topclass div') i wrócić

e.fn.e.init[125] 

Jak javascript object zawierających węzłów. (Zwykle jest dość skomplikowanym selektorem, ale czasami jest prosty).

Dlaczego otrzymuję to? Czy to oznacza, że ​​brakuje tagu, czy mój selektor jest nieprawidłowy?

Edycja: html jest w zasadzie zagnieżdżone DIV (możliwe że robi się jej dzieci div zbyt?)

Odpowiedz

5

Oznacza to Twój wybór zawiera zbyt wiele wyników, a narzędzia dla programistów skrócić ich reprezentacji w konsoli.

Spróbuj w konsoli:

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

Jeśli spróbujesz sprawdzić a, widać ["foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar", "foobar"]. Teraz dodaj jeszcze kilka elementów:

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

teraz, jeśli starają się ją kontrolować, widać Array[110].

Nie oznacza, że ​​selektor jest nieprawidłowy, ale jeśli spodziewasz się mniejszej liczby elementów, może to być nieprawidłowe.

+0

Tak, widzę, że zmieniłem go na $ ("div") i otrzymałem jeszcze większą liczbę, więc to musi być to. Mój selekcjoner jest oczywiście niesłuszny – Akshat