2009-06-24 12 views
0

Hier ist eine Firebug SitzungWelches Verhalten von jQuery find() erwartet?

>>> var e = $("<div>div-1<p>p-1</p></div><div>div-2</div><p>p-2</p>"); 
>>> e 
[div, div, p] 
>>> e.find('div') 
[] 
>>> e.find('p') 
[p] 

nicht e.find('div') und e.find('p') soll jeweils [div, div] und [p, p] zurückzukehren?

Antwort

4

Ich denke, dein Problem ist, dass es auf jedem Element in e suchen aufrufen, da e nicht ein ganzes Element ist. Wenn Sie e in ein anderes Tag einfügen, zB:

dann erhalten Sie das gewünschte Verhalten.

Alternativ, wenn Sie e ändern nicht möchten, können Sie verwenden

e.filter("p").add(e.find("p"));