Wenn Div mit einer bestimmten Klasse existiert, tun Sie etwas mit Javascript
Lesezeit: 2 Minuten
Alex
Ich habe eine Klasse und wenn sie existiert, möchte ich die Variable als True/False-if-Anweisung verwenden.
HTML
<div id="snake" class="snake--mobile">
JS
var isMobileVersion = document.getElementsByClassName('snake--mobile');
if (isMobileVersion !== null)
alert('xx');
Es funktioniert jedoch nicht. Irgendwelche Ideen? Bitte keine jQuery-Antworten.
mögliches Duplikat von How to check if an element exist in an other element?
– davidcondrey
8. Oktober 2014 um 10:45 Uhr
@dcc Ich wollte eine Nicht-jQuery-Lösung
– Alex
8. Oktober 2014 um 10:59 Uhr
stackoverflow.com/questions/5783280/…
– davidcondrey
8. Oktober 2014 um 11:03 Uhr
getElementsByClassName gibt a zurück NodeList das ist ein Array-ähnliches Objekt. Sie können es überprüfen length um festzustellen, ob Elemente mit definierter Klasse vorhanden sind:
var isMobileVersion = document.getElementsByClassName('snake--mobile');
if (isMobileVersion.length > 0) {
// elements with class "snake--mobile" exist
}
Ich schaff das Cannot read properties of undefined (reading 'length'
– Salem
29. Mai 2022 um 20:24 Uhr
Rifat Wahid Alif
Hier ist eine Musterlösung für die Prüfklasse (hasClass) in Javascript:
const mydivclass = document.querySelector('.mydivclass');
// if 'hasClass' is exist on 'mydivclass'
if(mydivclass.classList.contains('hasClass')) {
// do something if 'hasClass' is exist.
}
Ja, “enthält” ist hier der richtige Weg … z. if( document.getElementById("MyElement").classList.contains('special-class') ) { console.log('Found!') }
– Paul Brady
15. Oktober 2021 um 21:35 Uhr
Vielen Dank querySelector habe das problem jetzt gelöst null wenn die Klasse nicht existiert.
– Salem
29. Mai 2022 um 20:35 Uhr
getElementsByClassName gibt eine NodeList zurück. Das wird es nie sein null. Es könnte eine haben .length von 0.
@ Salem – Ähm. Ja? So getElementsByClassNamenicht zurückkehren null Und [0] Ist undefined weil es eine hat length von 0 … genau wie diese Antwort sagt.
– QUentin
29. Mai 2022 um 20:34 Uhr
Krupesh Kotecha
Ich habe es getestet. es funktioniert voll und ganz. Sie könnten jeden anderen Fehler gemacht haben. getElementsByClassName zurückkehren leer wenn kein Element mit gegebenem Klassennamen gefunden wird oder Liste von Elementen mit gegebener Klasse zurückgibt. Sie können also mit index darauf zugreifen.
var isMobileVersion = document.getElementsByClassName('snake--mobile');
if (isMobileVersion.length > 0) {
isMobileVersion[0].style.color="red";
alert('class exist');
}
<div id="snake" class="snake--mobile">Class Exist div </div>
sagar buddhi
querySelector() Die Methode aus dem Dokument gibt das erste Element zurück, das mit dem angegebenen Selektor übereinstimmt, ansonsten wird es zurückgegeben Null wenn es keine Übereinstimmung gibt Abfrageselektor-Referenz.
Syntax
element = document.querySelector(selectors);
console.log(`existing-class element ${document.querySelector('.existing-class')}`)
console.log(`non-existing-class element ${document.querySelector('.non-existing-class')}`)
if(document.querySelector('.existing-class')) {
alert('inside if block')
}
<div class="existing-class">
Eine explizite Nullprüfung mit if-Anweisung ist nicht erforderlich, da null ein falscher Wert ist, wenn er in einem booleschen Kontext angetroffen wird, funktioniert die Verwendung der Ausgabe von querySelector falsche Referenz
sɐunıɔןɐqɐp
var id=$("#main .slides .gallery-cell.is-selected").attr('id');
var isselected = document.getElementById(id);
isselected.scrollIntoView({behavior: "smooth", block: "center", inline: "center"});
14491500cookie-checkWenn Div mit einer bestimmten Klasse existiert, tun Sie etwas mit Javascriptyes
mögliches Duplikat von How to check if an element exist in an other element?
– davidcondrey
8. Oktober 2014 um 10:45 Uhr
@dcc Ich wollte eine Nicht-jQuery-Lösung
– Alex
8. Oktober 2014 um 10:59 Uhr
stackoverflow.com/questions/5783280/…
– davidcondrey
8. Oktober 2014 um 11:03 Uhr