Ich habe derzeit JQuery-Code, um eine Tabelle in der ersten Spalte zu suchen und nach Zeilen zu sortieren. Es enthält jedoch zusätzliche Notizinformationen, die von der Suche ausgeschlossen werden sollen, sodass die Suche nur auf Systemnamensinformationen beschränkt ist.JQuery-Änderung an der Tabellensuche
SearchFilter.customfilter = function(searchInput, table) {
var input, filter, table, tr, td, i;
input = document.getElementById(searchInput);
filter = input.value.toUpperCase();
table = document.getElementById(table);
tr = table.getElementsByTagName("tr");
// Loop through all table rows, and hide those who don't match the search query
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
if (td.innerText.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
Dies ist eine Beispiel Reihe von HTML-Tabelle, die gesucht wird:
<tr>
<td><a href="site.html">System Name</a>
<p class="tablenote"><small>Note: System note information. </small></p>
</td>
<td>N/A</td>
<td>N/A</td>
</tr>
Gibt es einen guten Weg, um den jQuery-Code zum Ausschluß der tablenote Informationen von der Suche, wie ohne dass tablenote Klasse zu ändern oder kleinen Text ausschließen?
so .... schau auf den Inhalt nur der Anker-Tag. Sie können nicht einfach sagen "Holen Sie sich alle inertext außer die, die in einem bestimmten Kind-Element ist". Um dieses Ergebnis zu erhalten, müssen Sie stattdessen über alle untergeordneten Knoten iterieren und dann die nicht gewünschte ausfiltern und innerhalb der verbleibenden suchen. für jede Zelle. Für jede Reihe. –
Wie betrachte ich nur den Inhalt des Anchor-Tags? Können Sie einen bestimmten Code vorschlagen? –
nein. das ist nur dom traversal. –