EDIT: Dies ist wahrscheinlich ein besserer Ansatz als meine ursprüngliche Antwort:
Beispiel:http://jsfiddle.net/patrick_dw/xN6d5/5/
var $target = $('#SearchHere').children(),
$next = $target;
while($next.length) {
$target = $next;
$next = $next.children();
}
alert($target.attr('id'));
oder das was noch ein etwas kürzer:
Beispiel:http://jsfiddle.net/patrick_dw/xN6d5/6/
var $target = $('#SearchHere').children();
while($target.length) {
$target = $target.children();
}
alert($target.end().attr('id')); // You need .end() to get to the last matched set
Ursprüngliche Antwort:
Beispiel:
Diese scheinen würde arbeitenhttp://jsfiddle.net/xN6d5/4/
var levels = 0;
var deepest;
$('#SearchHere').find('*').each(function() {
if(!this.firstChild || this.firstChild.nodeType !== 1 ) {
var levelsFromThis = $(this).parentsUntil('#SearchHere').length;
if(levelsFromThis > levels) {
levels = levelsFromThis;
deepest = this;
}
}
});
alert(deepest.id);
Wenn Sie wissen, dass das tiefste ein bestimmtes Tag (oder etwas anderes) sein wird, könnten Sie es beschleunigen, indem Sie zum Beispiel .find('*')
durch .find('div')
ersetzen.
EDIT: aktualisiert, um nur die Länge zu prüfen, ob das aktuelle Element nicht tut ein firstChild
oder wenn doch, daß der first ist kein Typ-1-Knoten.
nicht als Kritik gemeint, aber ich bin fasziniert von warum Sie wollen würde? –
Für all jene, die dies über die Suchmaschinen finden, habe ich den Hauptteil von Jonathan mit der verbesserten Version von patrick dw aktualisiert. Erweitert auch die Anweisungen ein wenig. Sie können es hier finden: [jQuery tiefsten Plugin-Gist] (https://gist.github.com/1014671 "jQuery tiefsten Plugin-Gist") –