1538 Stimmen

Wie kann ich ein Element nach Namen mit jQuery auswählen?

Ich habe eine Tabellenspalte, die ich versuche zu erweitern und zu verbergen. jQuery scheint die <td> Elemente, wenn ich sie mit class aber nicht durch das Element name .

Zum Beispiel:

$(".bold").hide(); // Selecting by class works.
$("tcol1").hide(); // Selecting by name does not work.

Beachten Sie das unten stehende HTML. Die zweite Spalte hat die gleiche name für alle Zeilen. Wie kann ich diese Sammlung mit Hilfe des name Attribut?

<tr>
  <td>data1</td>
  <td name="tcol1" class="bold"> data2</td>
</tr>
<tr>
  <td>data1</td>
  <td name="tcol1" class="bold"> data2</td>
</tr>
<tr>
  <td>data1</td>
  <td name="tcol1" class="bold"> data2</td>
</tr>

22voto

itsnikolay Punkte 16062

Rahmenwerke verwenden in der Regel Klammerbezeichnungen in Formularen, wie:

<input name=user[first_name] />

Sie sind zugänglich über:

// in JS:
this.querySelectorAll('[name="user[first_name]"]')

// in jQuery:
$('[name="user[first_name]"]')

// or by mask with escaped quotes:
this.querySelectorAll("[name*=\"[first_name]\"]")

17voto

kscius Punkte 356

Ich habe das so gemacht und es funktioniert:

$('[name="tcol1"]')

https://api.jquery.com/attribute-equals-selector/

11voto

Chris J Punkte 520

Sie haben den zweiten Satz von Anführungszeichen vergessen, was die akzeptierte Antwort falsch macht:

$('td[name="tcol1"]')

5voto

Sie können jedes Attribut als Selektor verwenden mit [attribute_name=value] .

$('td[name=tcol1]').hide();

5voto

Guest Punkte 51

Hier ist eine einfache Lösung: $('td[name=tcol1]')

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X