first
middle
<"/>
first
middle
<">
Heim > Artikel > Web-Frontend > Durchqueren mit jQuery
filter()
方法用于过滤包装器集中包含的当前元素集。它的使用应该留给需要过滤一组已选择的元素的任务。例如,下面的代码将过滤包装集中包含的三个 <p></p>
-Methode wird verwendet, um den aktuellen Satz von Elementen zu filtern, der im Wrapper-Satz enthalten ist. Seine Verwendung sollte Aufgaben vorbehalten sein, die das Filtern eines ausgewählten Satzes von Elementen erfordern. Der folgende Code filtert beispielsweise drei
<!DOCTYPE html> <html lang="en"> <body> <p><strong>first</strong></p> <p>middle</p> <p><strong>last</strong></p> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function ($) { // Alerts middle, by filtering out the first // and last <p> elements in the wrapper set. alert($('p').filter(':not(:first):not(:last)').text()); })(jQuery); </script> </body> </html><strong></strong>Hinweis:
filter()
时,总是问自己是否绝对有必要。例如, $('p').filter(':not(:first):not(:last)')
可以不写 filter()
Bei Verwendung von $('p:not(:first) :not(:last)').
find()
方法可用于进一步查找当前所选元素的后代。认为 find()
更像是使用封装在已选择的元素中的新元素来更新或更改当前的包装集。例如,下面的代码将使用 find()
将包装集从 <p></p>
元素更改为两个 <strong></strong>
Andererseits kann die Methode find()
verwendet werden, um die Nachkommen des aktuell ausgewählten Elements weiter zu finden. Stellen Sie sich find()
eher so vor, als würden Sie den aktuell umschlossenen Satz mit einem neuen Element umschließen oder ändern, das in das ausgewählte Element eingeschlossen ist. Der folgende Code verwendet beispielsweise find()
, um den Wrapper-Satz von einem
<p></p>
-Elemente zu ändern.
<!DOCTYPE html> <html lang="en"> <body> <p><strong>first</strong></p> <p>middle</p> <p><strong>last</strong></p> <script src="https://img.php.cn/"></script> <script> (function ($) { // Alerts "strong" alert($('p').find('strong').get(0).nodeName); })(jQuery); </script> </body> </html>
andSelf()
将使用 find()
方法之前的包装器中的元素与当前元素组合起来 - 例如$('p').find('strong').andSelf()
HINWEIS: Eigentlich können Sie .filter()
只会减少(或过滤)包装器集中当前选定的元素,而 find()
verwenden
Das Konzept zum Mitnehmen besteht darin, dass
es tatsächlich möglich ist, eine ganz neue Reihe von Verpackungselementen zu erstellen.
find()
和 filter()
都是破坏性方法,可以使用 end()
撤消,这会将包装的集合恢复为使用 find()
或 filter()
Hinweis:
Übergeben Sie die Funktion an filter() anstelle von expressionfilter()
zu übergeben, mit der Sie jedes Element im Wrapper-Set auf ein bestimmtes Werteszenario überprüfen können. <img alt="Durchqueren mit jQuery" >
元素包装在当前未使用该元素包装的 <p></p>
<img alt="Durchqueren mit jQuery" >
-Elemente in einer HTML-Seite in ein <p></p>
-Element einschließen, das derzeit nicht mit diesem Element umschlossen ist. filter()
方法,向其传递一个函数,该函数将确定该元素的父元素是否为 <p></p>
元素,如果否,则在使用 <p></p>
元素包装集合中剩余的 <img alt="Durchqueren mit jQuery" >
Sie können einen benutzerdefinierten Filter erstellen, um dies zu erreichen, oder Sie können die Methode verwenden und ihr eine Funktion übergeben, die bestimmt, ob das übergeordnete Element dieses Elements ein
-Element ist, und wenn nicht, entfernen Sie es das Element aus der Sammlung, bevor die verbleibenden <img alt="Durchqueren mit jQuery" >
元素,然后向 filter()
方法传递一个用于迭代每个元素的函数(使用 this
) 在包装器集中,检查 <img alt="Durchqueren mit jQuery" >
元素的父元素是否为 <p></p>
<img alt="Durchqueren mit jQuery" >
-Elemente in der Sammlung mit
!
运算符将布尔值 true 更改为 false。这是因为我想从以 <p></p>
元素作为父元素的集合中删除 <img alt="Durchqueren mit jQuery" >
元素。如果函数返回 false,则传递给 filter()
Im folgenden Beispiel wähle ich jedes <img alt="Durchqueren mit jQuery" >
-Element in der HTML-Seite aus und übergebe dann der
this
). Wrapper-Set, prüft, ob das übergeordnete Element des <img alt="Durchqueren mit jQuery" >
-Elements ein <p></p>
-Element ist. :findImgWithNoP
- 对于单一情况可以通过简单地向filter方法传递一个可以进行自定义过滤的函数来避免。这个概念非常强大。考虑一下当我们将正则表达式测试与 filter()
<!DOCTYPE html> <html lang="en"> <body> <img> <img> <p> <img> </p> <img> <p> <img> </p> <script src="https://img.php.cn/"></script> <script> (function ($) { $('img').attr('src', 'http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif').filter(function () { return !$(this).parent('p').length == 1 }).wrap('<p></p>'); })(jQuery); </script> </body> </html>Bitte beachten Sie, dass ich den Operator
!
verwende, um den booleschen Wert „true“ in „false“ zu ändern. Das liegt daran, dass ich das Element <img alt="Durchqueren mit jQuery" >
aus der Sammlung entfernen möchte, deren übergeordnetes Element das Element <hr>
ist. Die an die Der Punkt ist, wenn Sie es mit einem Einzelfall zu tun haben, erstellen Sie einen benutzerdefinierten Filter – z. B. „vermeiden“. Dieses Konzept ist sehr wirkungsvoll. Überlegen Sie, was passieren könnte, wenn wir das Testen regulärer Ausdrücke mit der parent()
、parents()
和 closest()
-Methode kombinieren.
<!DOCTYPE html> <html lang="en"> <body> <ul> <li>jQuery is great.</li> <li>It's lightweight.</li> <li>Its free!</li> <li>jQuery makes everything simple.</li> </ul> <script src="https://img.php.cn/"></script> <script> (function($){ // Wrap a <strong> element around any text within // a <li> that contains the pattern "jQuery" var pattern = /jQuery/i; $('ul li').filter(function () { return pattern.test($(this).text()); }).wrap('<strong></strong>'); })(jQuery); </script> </body> </html>
Durchqueren Sie das DOM
closest()
和 parents()
可能看起来具有相同的功能,但 closest()
Mit der
<!DOCTYPE html> <html lang="en"> <body> <div id="parent2"> <div id="parent1"> <div id="parent0"> <div id="start"></div> </div> </div> </div> <script src="https://img.php.cn/"></script> <script> (function ($) { // Alerts "parent0" x4 alert($('#start').parent().attr('id')); alert($('#start').parents('#parent0').attr('id')); alert($('#start').parents()[0].id); // Gets actual DOM element alert($('#start').closest('#parent0').attr('id')); // Alerts "parent1" x4 alert($('#start').parent().parent().attr('id')); alert($('#start').parents('#parent1').attr('id')); alert($('#start').parents()[1].id); // Gets actual DOM element alert($('#start').closest('#parent1').attr('id')); // Alerts "parent2" x4 alert($('#start').parent().parent().parent().attr('id')); alert($('#start').parents('#parent2').attr('id')); alert($('#start').parents()[2].id); // Gets actual DOM element alert($('#start').closest('#parent2').attr('id')); })(jQuery); </script> </body> </html>
Hinweis:
wird tatsächlich das aktuell ausgewählte Element in seine Filterung einbeziehen.closest()
一旦找到匹配项就会停止遍历,而 parents()
会获取所有父级,然后过滤您的可选选择器。因此,closest()
next()
Es kann höchstens ein Element zurückgegeben werden.
children('表达式')
next('表达式')
nextAll('表达式')
parent('表达式')
父母('表达')
prev('表达式')
prevAll('表达式')
siblings('表达式')
closest('表达式')
Das obige ist der detaillierte Inhalt vonDurchqueren mit jQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!