Überprüfen Sie, ob das DOM-Element ein Kontrollkästchen ist

Lesezeit: 1 Minute

Wie kann ich überprüfen, ob ein bestimmtes DOM-Element ein Kontrollkästchen ist?

Szenario:

Ich habe eine Reihe von Textfeldern und Kontrollkästchen, in denen die Werte dynamisch zugewiesen werden. Ich habe keine Möglichkeit zu erkennen, ob das DOM-Element ein Kontrollkästchen oder ein Textfeld ist.

Benutzer-Avatar
Fabrizio Calderán

Verwenden Sie nur Vanille-Javascript, das Sie tun könnten

if (el.type && el.type === 'checkbox') {
   ...
}

oder noch kürzer

if ((el || {}).type === 'checkbox') {
   ...
}

oder in modernen Browsern, die Sie verwenden könnten matches()

if (el.matches('[type="checkbox"]') {
    ...
}

  • Viele Jahre später …. möchten Sie wahrscheinlich toLowerCase dieser Typ Wert, nicht wahr?

    – Nathan

    28. Juni 2015 um 4:34 Uhr

  • Nein, bitte umwandeln in lowerCase und dann vergleichen.

    – Andreas Köberle

    9. Februar 2016 um 13:16 Uhr

  • @AndreasKöberle es sollte davon abhängen, wie du das Attribut im Markup geschrieben hast, oder?

    – Fabrizio Calderán

    9. Februar 2016 um 13:19 Uhr

  • Das könntest du sogar 'input[type="checkbox"]' sicher sein

    – Marwin

    14. Januar 2019 um 2:39 Uhr

Benutzer-Avatar
Salmann A

Wenn Sie jQuery verwenden, können Sie die verwenden :checkbox Pseudo-Klassen-Selektor zusammen mit is Methode:

if($("#that-particular-input").is(":checkbox")) {
}

  • Wenn ich nicht falsch liege, :checkbox ist eine Pseudoklasse

    – Marwin

    14. Januar 2019 um 1:43 Uhr

Überprüft alles

function isCheckbox (element) {
   return element instanceof HTMLInputElement 
      && element.getAttribute('type') == 'checkbox'
}

if( $(element)[0].type == "checkbox" ) {

}

ODER

if( $(element).is(':checkbox') ) {

}

Werfen Sie einen Blick auf die Kontrollkästchen-Selektor.

var checkboxes = $("form input:checkbox");

So können Sie erkennen, um welche Art von Eingabe es sich handelt:

if ($(".your-input").is(":text"))
{
    // Textbox
}
else if ($(".your-input").is(":checkbox"))
{
    // Checkbox
}

Benutzer-Avatar
Andreas

if (<DOMNode>.type === "checkbox") {
    // ...
}

Benutzer-Avatar
das Codeparadox

Versuche dies;

  $(element).is(':checkbox');

hier element ist Selektor zu Ihrem element

if(  $(element).is(':checkbox') ) {
  // do something
}

1180430cookie-checkÜberprüfen Sie, ob das DOM-Element ein Kontrollkästchen ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy