Jquery .jeder(): hier finden Sie Elemente, die Eingang
Ich habe eine Tabelle ist, die ein thead
Abschnitt und einen tbody
Abschnitt. Ich bin mit jQuery jedes zu finden und zählen Sie alle TH
s in einem table
. Dies funktioniert sehr gut. Aber zur gleichen Zeit ich möchte, um zu überprüfen, ob die TD
s der TH
s in der tbody
enthält Sie auch alle input-Elemente.
Hier ist was ich habe, so weit:
jQuery('#' + _target).each(function () {
var $table = jQuery(this);
var i = 0;
jQuery('th', $table).each(function (column) {
if (jQuery(this).find("input")) {
dataTypes[i] = { "sSortDataType": "input" }
}
else {
dataTypes[i] = { "sSortDataType": "html" }
}
i++;
});
});
Ich hoffe das ist genug Informationen für Euch um mir zu helfen?
Warum sind Sie die Schleife durch ein ID-Selektor?
InformationsquelleAutor Poku | 2010-05-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Edit:, wenn Sie mit diesem auf eine einzelne Tabelle (in dem Fall die
each
rufen Sie in der original-Beispiel macht nicht viel Sinn), wird es einfacher:Ich hatte die Argumente der Karte-Rückruf in der falschen Reihenfolge. Ist jetzt behoben.
Jetzt funktioniert es. Danke!!!
InformationsquelleAutor Tgr
Wie diese:
Können Sie den code vereinfachen mit
.map
:.is()
gibt einen booleschen Wert zurück, also die Länge ist nicht notwendig.Habe ich bereits behoben.
Warum
.is(":has(input)")
statt nur.has('input')
?Filter, die das jQuery-Objekt; es nicht das es ein boolean zurückgibt.
Ich glaube, er will herausfinden, ob die Spalte unter der Leitung des TH hat alle input-Elemente, und nicht, ob der header selbst enthält ein input-element. Dies wäre wichtig zu wissen, ob die Sortierung muss Konto für die HTML-oder die Daten direkt.
InformationsquelleAutor SLaks
Wenn Sie nur auf der Suche nach den Grafen konnte Sie nicht einfach sowas wie das folgende?
Habe ich nicht habe meine IDE vor mir, so das oben kann nicht korrekt sein, aber ich denke, es ist ziemlich nah an, was Sie suchen.
InformationsquelleAutor Brian Scott
Je geben Sie den index des Elements in der Liste. Unter der Annahme, dass alle TH-Elemente gehören zu einer Spalte, und Sie haben keine THs an anderer Stelle in der Tabelle, die Sie verwenden können, diese zu finden, das nth-child TD (Spalte) die Elemente jeder Zeile und sehen, ob diese enthalten einen Eingang.
BEARBEITEN: nth-child ist eins-basiert, in der Erwägung, dass jede null-basiert ist, so habe ich Hinzugefügt, um die Spalte variable, um für dieses Konto.
.has()
nicht das es ein boolean zurückgibt.Korrekt - ich vernachlässigte die length-Eigenschaft. Habe ich behoben.
InformationsquelleAutor tvanfosson