„Das Drehbuch war richtig funktioniert, bevor einige Änderungen, aber Sie können nicht erkennen, welche eine“
Es über die nicht viele Informationen sind Umstände, die dieses Problem verursachen, daher nehme ich ein paar Szenarien an, die Ihnen helfen, eine Lösung zu finden.
Szenario 1: Nehmen wir an, dass das Element zum Zeitpunkt der Skriptausführung nicht im DOM verfügbar ist. Wenn Sie also versuchen, auf die Eigenschaft checked
zuzugreifen, schlägt es fehl.
Stellen Sie sicher, dass Sie nur auf eine Eigenschaft zugreifen, wenn das Element verfügbar und bereit ist! Siehe (https://learn.jquery.com/using-jquery-core/document-ready/), Beispiel:
$(document).ready(function() {
if ($("#ship-to-different-address-checkbox").get(0).checked) {
$("#ship-to-different-address-checkbox").get(0).checked=false;$(".shipping_address").addClass("dhl-hide");
$("#ship-to-different-address-checkbox").trigger("change");
}
});
Und warum nicht legen Sie die Nähe zu den?
Szenario 2: Die Element-ID wurde geändert, sodass der Selektor nicht definiert zurückgegeben wird. Doppel für dieses Element die ID überprüfen, ob das Element vorhanden ist, und ist ein DOM-Element, bevor Sie auf die Eigenschaft zuzugreifen und bestätigen, dass das ausgewählte element
oder DOM-Element des richtigen Typs und hat die Eigenschaft checked
, Beispiel:
// ID should always refer to a single element,
// it's not valid to have more then one element ID in the page
// So, expect only one:
var element = $("#ship-to-different-address-checkbox")
// You should do this for any other selector/element
if (typeof element !== 'undefined' && element.is(":checkbox") && element.checked) {
element.checked.checked = false
// anything else
element.trigger("change");
}
Sie können natürlich, setzen sie alle zusammen, wie:.
$(document).ready(function() {
var element = $("#ship-to-different-address-checkbox")
if (typeof element !== 'undefined' && element.is(":checkbox") && element.checked) {
element.checked.checked = false
// anything else
element.checked.trigger("change");
}
});
wie etwas scheint hat in Ihrem HTML geändert, die $ ("# ship-to-different-Adresse-Checkbox") erhalten verursacht (0) um undefiniert zu sein –
Versuchen Sie, zur vorherigen Version zurückzukehren oder ändern Sie die Änderung in Ihrem Skript - if ($ ("# ship-to-differen t-address-checkbox "). get (0) && $ (" # schiff-zu-abweichende-adresse-checkbox "). get (0) .checked) {$ (" # ship-to different-address- checkbox "). Get (0) .checked = false; $ (". Versandadresse "). AddClass (" dhl- hide "); $ (" # ship-to-difference-adresse-checkbox "). Trigger ("change");} – HarryJs