Ich beginne mit JQuery. Wenn ich einen String als Argument in einer Funktion zu übergeben will, manchmal wird es nicht funktionieren, und ich weiß nicht, warum ...Kann keine Zeichenfolge übergeben als Funktionsargument Jquery
Dies ist ein Beispiel:
$(document).ready(test());
function test() {
$('path[secteur]').each(function() {
if ($(this).attr('id') == ("23C01")) {
id = ($(this).attr('id'));
afficher(id);
}
})
}
function afficher(mo) {
document.getElementById("test").innerHTML = "<p id=" + mot + " onclick='tester(" + mot + ")'> step 1</p>";
}
function tester(verbe) {
document.getElementById(verbe).innerHTML = "step 2";
}
An diesem Beispiel funktioniert es nur gut für "afficher" aber es funktioniert nicht mit "tester". Wenn ich versuche, auf den generierten HTML-Code zu klicken, erhalte ich einen Fehler: "Uncaught SyntaxError: fehlt) nach der Argumentliste"
Wer weiß warum?
Entfernen Sie Klammern '()' aus '$ (Dokument) .ready (test());'. Verwenden Sie '$ (document) .ready (test);' – Tushar
Ihre Deklaration für'Afficher() 'ruft den Parameter' mo' auf, aber der Code nennt es 'mot'. – Pointy
Es scheint eine Reihe von Dingen mit diesem Code falsch zu sein. Sie definieren zum Beispiel niemals die Variable "mot". Sie führen auch 'test()' * vor * dem 'document'-Ready-Event aus (siehe @ Tushars Kommentar), wenn Sie also'Afficher (id) aufrufen, kann dieser' ID'-Wert nichts enthalten. Was ist der genaue Code, der den Fehler verursacht? Sie fügen HTML dynamisch mit eingebettetem JavaScript hinzu. Wenn das eingebettete JavaScript fehlerhaft ist, * sehen Sie es an * und sehen Sie, warum es möglicherweise fehlerhaft ist. – David