Ich lerne JavaScript und versuche folgendes anzupassen:
$('#myform').change(function() {
if ($('#sv_I4b').attr('checked')||$('#sv_I4c').attr('checked')){
$('#sv_I5').removeClass('hidden');
} else {
$('#sv_I5').addClass('hidden');
}
});
Um eine Funktion mit einem Namen zu sein, die ich bei verschiedenen Ereignissen aufrufen kann, wie z.B. beim Laden der Seite usw.
Ich verstehe noch nicht jedes Element vollständig, aber ich weiß, dass:
if ($('#sv_I4b').attr('checked')||$('#sv_I4c').attr('checked')){
$('#sv_I5').removeClass('hidden');
} else {
$('#sv_I5').addClass('hidden');
}
den Kern der "Logik" der Funktion darstellt: if (Bedingung) {dann dies} sonst {das}
und mehr oder weniger verstehe, was dort passiert. Das lässt uns beim begrenzenden JavaScript (gibt es eine bessere Terminologie dafür?) zurück:
$('#myform').change(function() {...});
Meine Fragen (sind die folgenden wahr usw):
- Das Dollarzeichen deutet meiner Meinung nach darauf hin, dass es jQuery ist
- Die ID myform bezieht sich offensichtlich auf die Ereignisse innerhalb dieses Formulars (Namensraum?)
- .change scheint ein Auslöser zu sein, der auf ... Änderungen in #myform hört? Wird also jedes Mal, wenn eine Änderung in #myform stattfindet, dies ausgeführt? Das erscheint ineffizient
- function() Ich verstehe noch nicht, was eine anonyme oder leere Funktion macht, definiert nur, was in {} enthalten ist, als Funktion?
Mein Ziel: etwas wie folgt zu haben
function myfunction()
{
if ($('#sv_I4b').attr('checked')||$('#sv_I4c').attr('checked')){
$('#sv_I5').removeClass('hidden');
} else {
$('#sv_I5').addClass('hidden');
}
}
und dann
$(function() {myfunction});
so kann ich diese Funktion beim Laden der Seite aufrufen, möchte aber nicht die Funktionalität verlieren, die die .change-Syntax mir bietet (dass sie sich ändert, wenn der Benutzer mit den Elementen auf der Seite interagiert).
Entschuldigung für das allgemeine und umständliche Maß an Unwissenheit