Heim >Web-Frontend >HTML-Tutorial >Beispielhafte Einführung in den Unterschied zwischen ID- und Namensattributen bei der Erstellung von Eingabe-HTML-/Xhtml-Webseiten
Ich habe schon lange eine Website erstellt, aber ich habe den Unterschied zwischen Name und ID in der Eingabe immer noch nicht herausgefunden. Ich habe kürzlich jquery gelernt und bin erneut auf dieses Problem gestoßen, also habe ich Informationen online gesammelt. Nachdem ich diesen Artikel gelesen hatte, habe ich ihn für die spätere Verwendung sortiert.
Man kann sagen, dass fast jeder, der sich mit Webentwicklung beschäftigt hat, gefragt hat: Was ist der Unterschied zwischen der ID und dem Namen eines Elements? Warum brauchen wir einen Namen, wenn wir einen Ausweis haben? Und wir können auch die klassischste Antwort bekommen: Der Ausweis ist wie die Ausweisnummer einer Person, und der Name ist offensichtlich so, als wäre der Name eindeutig, und der Name ist wiederholbar.
Letzte Woche bin ich auch auf das Problem von ID und Name gestoßen. Ich habe einen Eingabetyp = „versteckt“ auf der Seite eingegeben und nur eine ID = „SliceInfo“ geschrieben. Nach der Zuweisung des Werts senden und verwenden Sie „Anfrage“. Der Hintergrund. Params["SliceInfo"] kann den Wert nicht abrufen. Später wurde mir plötzlich klar, dass es mit Name markiert werden sollte, also fügte ich Name='SliceInfo' zur Eingabe hinzu und alles war in Ordnung.
Die Antwort auf ID und Name im ersten Absatz ist zu allgemein. Natürlich ist diese Erklärung für ID, also die Identität des HTML-Elements auf der Clientseite, völlig richtig. Der Name ist tatsächlich viel komplizierter, da der Name viele Verwendungszwecke hat und daher nicht vollständig durch die ID ersetzt werden kann, wodurch er aufgehoben wird. Spezifische Verwendungszwecke sind:
Verwendung 1: Als serverseitiger Indikator für HTML-Elemente, die mit dem Server interagieren können, wie z. B. Eingabe, Auswahl, Textbereich und Schaltfläche. Wir können den vom Element über Request.Params übermittelten Wert basierend auf seinem Namen auf der Serverseite abrufen.
Verwenden Sie 2: HTML-Element Eingabetyp = 'Radio'-Gruppierung. Wir wissen, dass sich das Optionsfeldsteuerelement in derselben Gruppierungsklasse befindet. Die Prüfoperation ist Mutex. Es kann nur ein Radio gleichzeitig ausgewählt werden. Diese Gruppierung ist basierend auf dem gleichen Namensattribut realisiert.
Zweck 3: Erstellen Sie einen Ankerpunkt auf der Seite. Wir wissen, dass link einen Seiten-Hyperlink erhält Stattdessen, wie zum Beispiel: < ;a name="PageBottom">, erhalten wir einen Seitenanker.
Verwendung 4: Identität als Objekt, z. B. Applet, Objekt, Einbettung und andere Elemente. In einer Applet-Objektinstanz verwenden wir beispielsweise deren Namen, um auf das Objekt zu verweisen.
Zweck 5: Wenn Sie beim Zuordnen zwischen IMG-Elementen und MAP-Elementen den Hotspot-Bereich von IMG definieren möchten, müssen Sie dessen Attribut usemap verwenden, also usemap="#name" (Name des zugeordneten MAP-Elements). ).
Verwendung 6: Attribute bestimmter spezifischer Elemente, wie z. B. Attribut, Meta und Parameter. Definieren Sie beispielsweise die Parameter für Object oder
Natürlich können diese Verwendungen nicht einfach durch ID ersetzt werden, daher ist der Unterschied zwischen ID und Name von HTML-Elementen nicht der Unterschied zwischen ID-Nummer und Name. Sie haben unterschiedliche Funktionen.
Natürlich kann das Name-Attribut des HTML-Elements auch als ID auf der Seite eine Rolle spielen, denn im DHTML-Objektbaum können wir document.getElementsByName verwenden, um ein Objektarray zu erhalten, das alle angegebenen Namen enthält Elemente auf der Seite. Es gibt ein weiteres Problem mit dem Namensattribut. Wenn wir ein Element dynamisch erstellen, das das Namensattribut enthalten kann, können wir nicht einfach die Zuweisung element.name = „…“ verwenden, um seinen Namen hinzuzufügen. Wir müssen document.createElement( verwenden Beim Erstellen des Elements wird das Attribut „Name“ zum Element hinzugefügt. Was bedeutet das? Schauen Sie sich einfach das Beispiel unten an, um es zu verstehen.