2016-05-13 3 views
-2

Ich versuche zu erreichen, ist eine einfache entfernen Class-Funktion, die die Ziel-ID und die Klassenname erhalten will zu entfernen. Ich bin mir jedoch nicht sicher, wie ich den spezifischen Klassennamen von var x mit document.getElementById bekommen kann.Wie kann ich eine bestimmte Klasse aus den Listen der Klassen auswählen, die durch die ID des Elements erhalten wurden?

Siehe unten:

removeClass: function (selector, string) { 
var x = document.getElementById(selector); 
for (i = 0; i < x.length; i++) { 
    x[i].classList.remove(string); 
} 
}, 
+0

So erhalten Sie irgendeine Art von Problem oder Fehler? –

+1

ID sollte eindeutig sein. zeig uns wie machst du es? –

+0

Zeigen Sie bitte den HTML-Code. Es ist nicht klar, ob Sie mehrere Elemente mit derselben ID haben oder ob Sie auf die untergeordneten Elemente der ID oder auf etwas anderes zielen möchten. – JJJ

Antwort

1

var removeClass = function (strElementId, strClassToRemove) { 
 

 
var x = document.getElementById(strElementId); 
 
    x.classList.remove(strClassToRemove); 
 
} 
 

 
removeClass('a', 'b');
<div id="a" class="a b c"> 
 
test 
 
</div>

Gerade erhalten Element durch seine ID (sollte in der HTML-Seite eindeutig sein) und verwendet remove mit Namen Schlüsselklasse.

Um mehr über Klassenmanipulation mit Core-JavaScript zu erfahren, besuchen Sie bitte den untenstehenden Link.

http://www.w3schools.com/jsref/prop_element_classlist.asp

-1

Prüfen Sie zunächst, ob das Element haben diese Klasse oder nicht. Basierend darauf entfernen Sie es. Versuchen Sie etwas wie folgt:

removeClass: function (selector, str) { 
var x = document.querySelectorAll(selector); 
for (i = 0; i < x.length; i++) { 
    if ($(x[i]).hasClass(str)) { 
    $(x[i]).removeClass(str); 
    } 
} 
} 
+1

warum hast du jquery benutzt? Das ist hier völlig unnötig. –

Verwandte Themen