addClass funktioniert nicht im Internet Explorer 8 und darunter
Mein code
$(document).ready(function(){
$(".CheckBoxClass").change(function(){
if($(this).is(":checked")){
$(this).next("label").addClass("LabelSelected");
}else{
$(this).next("label").removeClass("LabelSelected");
}
});
});
Dies ist mein css
.CheckBoxClass{
display: none;
}
.CheckBoxLabelClass{
background: url('/public/images/chk_off.png') no-repeat;
padding-left: 24px;
margin: 5px;
height: 22px;
width: 150px;
display: block;
}
.CheckBoxLabelClass:hover{
}
.LabelSelected{
background: url('/public/images/chk_on.png') no-repeat;
}
Ich habe gegoogelt alles was ich denken konnte. Alle Lösungen funktionieren nicht. Ich habe versucht den code umschreiben, mit Hilfe von id-Selektoren anstelle und nicht neben Funktionen, etc. Nichts davon funktioniert. Ich bin mir nicht sicher, was Los ist. Danke.
Können Sie nach einen test-Fall in jsFiddle?
Haben Sie eingefügt
Hat die
Können Sie das bestätigen, dass jquery geladen wird und verwendet, richtig? Es gibt eine ziemlich lange Liste von Antworten für Problem mit jQuery in Internet Explorer 8, dass könnte in Bezug auf Ihr problem.
Könnten Sie fügen Sie den code ein. Auch Sie sind sicher .addClass nicht funktioniert oder Sie einfach nicht sehen können, den Stil, die Klasse?. Mit F12 starten Sie developer tools, und Sie können überprüfen Sie Ihre element zu sehen, wenn er die Klasse.
Haben Sie eingefügt
console.log()
oder alert()
Anweisungen, um sicherzustellen, dass die .is(":checked"))
Funktion ist die Bewertung richtig? Ist der IE noch immer den richtigen code zu sperren?Hat die
label
element direkt nach der .CheckBoxClass
element? Funktioniert es in anderen Browsern? Ich vermute ein problem mit der HTML-und Missverständnisse, wie next
funktioniert. Btw. if(this.checked)
ist ein schneller Weg,...Können Sie das bestätigen, dass jquery geladen wird und verwendet, richtig? Es gibt eine ziemlich lange Liste von Antworten für Problem mit jQuery in Internet Explorer 8, dass könnte in Bezug auf Ihr problem.
Könnten Sie fügen Sie den code ein. Auch Sie sind sicher .addClass nicht funktioniert oder Sie einfach nicht sehen können, den Stil, die Klasse?. Mit F12 starten Sie developer tools, und Sie können überprüfen Sie Ihre element zu sehen, wenn er die Klasse.
InformationsquelleAutor Drew H | 2011-06-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Live-test
Code funktioniert bei mir im IE9 mit IE8-standards, IE9 mit IE7-standards und IE9 quirks-Modus.
-1 - IE9 ist nicht der IE8, auch wenn es in den standards-Modus.
InformationsquelleAutor Raynos
Wenn Sie möchten, fügen Sie nur eine Klasse, Sie versuchen, fügen Sie diese Klasse wie folgt:
Eine bessere Lösung, das funktioniert auch mit mehreren Klassen:
ich in diesem Beispiel fügen Sie die Klasse "someclass" , "someselector". Dies funktioniert im IE8.
In Ihrem Fall sollten Sie tun:
InformationsquelleAutor Pablo
InformationsquelleAutor Lalit Bhudiya
Haben Sie zum wickeln alles vor dem add/removeClass Methode mit $([selector]). Auf diese Weise werden alle Jquery-Methoden geladen werden, verwendet werden. Dies ist getestet auf IE8
InformationsquelleAutor Álvaro
CSS:
Checkboxen verschwunden sind, und funktioniert in jedem browser?
InformationsquelleAutor Mark