2012-05-11 5 views

Antwort

25

jQuery-Selektoren funktionieren sehr ähnlich wie CSS-Selektoren, mit denen Sie vielleicht besser vertraut sind.

Wählen Sie zuerst die div und dann absteigen davon:

$('#my-div').find('some-selector'). 

oder bauen Ihre Wähler Kinder des Elements in Frage entsprechen:

$('#my-div some-selector') 
+7

(die erste schneller ist) – Amadan

+1

@Amadan. Warum bist du so sicher? – gdoron

+1

jspref zeit !!!! –

0
var elements = $('div ' + yourSearch); 
7
var elems = jQuery(".foo", jQuery("#divYourWantToLimitTo")); //BAD 
//or 
var elems = jQuery("#divYourWantToLimitTo .foo"); //Better 
//or 
var elems = jQuery("#divYourWantToLimitTo").find(".foo"); //BEST 
+1

Die erste Option ist falsch, jQuery enthält keinen String-Selektor als Kontext. Überprüfe die Dokumente. – gdoron

+0

@gdoron - Könnten Sie mir bitte erklären, dass es genau so aussieht wie die dritte Option intern? Mir ist klar, dass die Dokumentation sagt: "Ein DOM-Element, ein Dokument oder eine jQuery, die man als Kontext verwenden kann" usw. Aber es scheint, als würde es funktionieren. – adeneo

+0

@adeneo Es wurde geändert ... – epascarello

0
$('div-selector').find('the selector-you-are-looking-for'); 
2

jQuery bietet verschiedene Möglichkeiten, nach bestimmten Elementen zu suchen:

$("#your_div").find(".your_things");  //Find everything inside 
    //-or- 
$("#your_div").filter(".your_things");  //Find only the top level 
    //-or- 
$("#your_div .your_things");    //Easiest 
10

Alte Frage, aber jeder scheint die scoped jQuery-Selektor verpasst zu haben (den Umfang mit Ihnen gewünscht, das heißt Ihre div Wähler, als zweiter Parameter)

z.B. verwenden

var $matches = $('.adiv', '#mydiv'); 

Dies ist eine kürzere Äquivalent:

var $matches = $('#mydiv').find('.adiv'); 
Verwandte Themen