- Zu Ihrer Frage an den ersten Kommentar Gegensatz Sie CAN eine Nummer als eindeutige Kennung verwenden: Link
Die ID-Attribut gibt i an Die eindeutige Kennung (ID) des Elements.
Es gibt keine weiteren Einschränkungen hinsichtlich der Form einer ID; in insbesondere IDs von nur Ziffern, beginnt mit einer Ziffer bestehen, Start mit einem Unterstrich, besteht aus nur Interpunktion usw.
ein eindeutigen Kennung des Elements kann für eine Vielzahl von Zwecken verwendet werden, vor allem als eine Möglichkeit zur Verknüpfung mit bestimmten Teilen eines Dokuments mit Fragmente, als eine Möglichkeit, ein Element bei der Skripterstellung, und als ein Weg ein bestimmtes Element aus CSS zu stylen.
Versuch mal id="1"
ein input
Element mit der Eigenschaft zu setzen und es dann mit document.getElementById
Funktion zugreifen. Es klappt.
Aber was ich stimme ist, dass solche identifizieren sind ziemlich schwer zu lesen, zu verstehen und sogar daran zu erinnern ... Nur "1" sagt nichts über das Element. Ich würde nicht empfehlen, einen solchen Ansatz zu verwenden. Ja, es wäre besser, mehr "aussagekräftige" Namen wie "button-for-test" oder "smth" zu verwenden.
- Der Code zu arbeiten, weil nicht im Zusammenhang mit PHP-Tag Sie
$
Zeichen verwendet werden, die auf eine Variable ... PHP-Variable beziehen. Die Zeile $id1 = document.getElementById('1');
wird also als = document.getElementById('1');
interpretiert und verursacht einen Syntaxfehler für JS. Es wird zuerst als PHP-Variable ausgewertet, und da es nicht definiert ist, gibt es nichts, was zu echo ist, also das js-Skript, das Sie der Seite hinzufügen möchten, ist nicht abgeschlossen.
Der Quellcode von diesem Teil der Seite sieht wie folgt aus:
<script type="text/javascript">
= document.getElementById('1');
.onclick = function() {
alert('hello');
};
</script>
Sie sehen, dass keine Variable selbst
gibt es
Statt dessen versuchen, die folgenden kombinierten Code:
<?php
/*
If you declare a php variable, the value you assign to it becomes a JS
variable name and is echoed then in the script
*/
$id1 = "test";
echo "<script type='text/javascript'>
$id1 = document.getElementById('1');
$id1.onclick = function() {
alert('hello');
};
</script>"
?>
Danach sehen Sie, wenn Sie den Quellcode der Seite betrachten, dass die Variablendeklaration jetzt korrekt ist:
<script type="text/javascript">
// Var name has appeared!
test = document.getElementById('1');
test.onclick = function() {
alert('hello');
};
</script>
Wenn Sie keine anderen Fehler im Code vorgenommen haben, auf die Schaltfläche klicken sollten Alarm Popup verursachen.
Ich würde empfehlen, declare vars wie folgt:
var varName = Wert;
Andernfalls wird die Variable automatisch global. Die Art, wie Sie wählen, hängt von Ihren Zielen ab und der Programmarchitektur
Sie können keine Nummer als ID auf Ihrem Element verwenden. Verwenden Sie etwas wie elem1 oder besser noch etwas beschreibender –
@PatrickHund du hast kein Recht – Dzmtrs
OK, ich bin überrascht, dass Sie nur Ziffern als IDs verwenden können. Ich das ist eine gute Praxis ist eine andere Sache –