Wie kann ich wählen Sie alle Elemente der Klasse „Art“ in einer Tabelle mit einer bestimmten ID?

StackOverflow https://stackoverflow.com/questions/101597

  •  01-07-2019
  •  | 
  •  

Frage

Nehmen wir an, ich habe folgendes HTML:

<table id="foo">
  <th class="sortasc">Header</th>
</table>

<table id="bar">
  <th class="sortasc">Header</th>
</table>

Ich weiß, dass ich tun kann, die mit allen folgenden bekommen th Elemente, die class = "sortasc" haben

$$('th.sortasc').each()

Allerdings, die mir die th Elemente aus beide Tabelle gibt foo und Tabelle bar .

Wie kann ich sagen, es mir zu geben, nur die th-Elemente aus der Tabelle foo

War es hilfreich?

Lösung

Tabelle # foo th.sortasc

Andere Tipps

Dies ist, wie Sie es mit straight-up JS tun würde:

var table = document.getElementById('tableId');
var headers = table.getElementsByTagName('th');
var headersIWant = [];
for (var i = 0; i < headers.length; i++) {
  if ((' ' + headers[i].className + ' ').indexOf(' sortasc ') >= 0) {
    headersIWant.push(headers[i]);
  }
}
return headersIWant;

Der CSS-Selektor wäre so etwas wie '#foo th.sortasc' sein. In jQuery, die $ ( '# foo th.sortasc') werden würde.

Mit einer verschachtelten Tabelle, wie:

<table id="foo">
  <th class="sortasc">Header</th>
  <tr><td>
    <table id="nestedFoo">
      <th class="sortasc">Nested Header</th>
    </table>
  </td></tr>
</table>

$ ( 'Tabelle # foo th.sortasc') geben Sie alle die th, weil Sie mit einem Nachkomme Selektor . Wenn Sie nur foo des th wollen, dann sollten Sie die Kindselektor -. $ ( 'Tabelle # foo> th.sortasc')

Beachten Sie, dass das Kind Selektor ist nicht in CSS für IE6 unterstützt , obwohl JQuery noch richtig tut es von JavaScript.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top