Ich habe eine Reihe von verschachtelten <div>
und nach Abschluss der Seite zu laden, müssen Maßnahmen auf den inneren <div>
jedem der äußeren <div
>jQuery ‚find‘ undefined
Im .ready()
der Seite zu nehmen, ich iterieren durch jeden der $('.outer').each()
Aufruf der doSomething()
Funktion, die dann versucht, find()
die <div class='inner'>
.
Das Problem ist, dass die .find()
Methode mit
Objekt versagt unterstützt keine Eigenschaft oder Methode 'find'
Unten ist die Ansicht Quelle (von IE11) zu demonstrieren Das Thema.
Markup
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<div class="outer">
<div class="inner">
1
</div>
</div>
<div class="outer">
<div class="inner">
2
</div>
</div>
<div class="outer">
<div class="inner">
3
</div>
</div>
<script src="Scripts/jquery-1.10.2.js"></script>
<script src="Scripts/jquery.fittext.js"></script>
<script src="Scripts/jquery.cycle.lite.js"></script>
<script src="Scripts/jquery.validate.js"></script>
<script src="Scripts/jquery.validate.unobtrusive.js"></script>
<script src="Scripts/bootstrap.js"></script>
<script src="Scripts/respond.js"></script>
<script src="Scripts/moment.js"></script>
<script type="text/javascript">
$(function() {
$(".outer").each(function() { doSomething(this); })
})
function doSomething(divO) {
debugger;
var divI = divO.find("inner");
console.log(divI);
}
</script>
Wenn der Debugger bricht, Auswertung divO.tagName
auf IDE (Visual Studio) es sagt, dass es in der Tat eine Div
Tag
was ist die Ausgabe, die Sie von diesem Code erwarten? – stylishCoder
'divO.find (" inner ")' sollte 'divO.find (". Inner ")' sein (fehlender Punkt) – LinkinTED
'div0' ist kein jQuery-Objekt. Nur ein DOM-Objekt ... Verwenden Sie '$ (div0) .find ('. Inner')', um Ihr Problem zu lösen. – evolutionxbox