898 Stimmen

Unterschied zwischen den Attributen id und name in HTML

Was ist der Unterschied zwischen dem id y name Eigenschaften? Sie scheinen beide dem gleichen Zweck zu dienen, nämlich eine Kennung zu liefern.

Ich würde gerne wissen (insbesondere im Hinblick auf HTML-Formulare), ob die Verwendung beider Formulare aus irgendwelchen Gründen notwendig oder empfehlenswert ist.

12 Stimmen

Es gibt einen sehr guten Thread zu diesem Thema unter stackoverflow.com/questions/7470268/html-eingabe-name-vs-id

0 Stimmen

Die umfassendste Antwort lautet Antwort von Farhan Shirgill Ansari (was nichts über seine Richtigkeit aussagt).

2voto

Michael Sorens Punkte 33793

In all der Zeit, in der diese Frage gestellt wurde, hat niemand daran gedacht, die folgenden Punkte zu erwähnen, was mich ärgert (und vielleicht auch ein bisschen traurig macht) Zugänglichkeit was zwar immer wichtig ist, aber sowohl bei der Geschäftsleitung als auch bei den Software-Ingenieuren immer mehr an Unterstützung gewinnt (nur aus meiner persönlichen Beobachtung heraus; es gibt keine belastbaren Daten, um das zu belegen).

Eine Statistik, die ich zur Verfügung stellen kann, ist diese ( Quelle ):

Accessibility lawsuits

Das Bewusstsein für die Unzulänglichkeiten der Barrierefreiheit nimmt also stetig zu. In derselben Referenz wird erwähnt, dass aus diesen Zahlen hervorgeht, dass mindestens eine Klage eingereicht wird jede Stunde !

Wie verhält es sich also mit der Barrierefreiheit in Bezug auf name gegen id ?

Nach Angaben der World Wide Web Konsortium (W3C):

El for Attribut des Etiketts muss genau mit dem id der Formularsteuerung.

1voto

Ausgehend von persönlichen Erfahrungen und nach der W3Schulen Beschreibung für Attribute:

ID ist eine globales Attribut und gilt für praktisch alle Elemente in HTML. Er wird zur eindeutigen Identifizierung von Elementen auf der Webseite verwendet, und auf seinen Wert wird meist vom Frontend aus zugegriffen (in der Regel über JavaScript oder jQuery).

Name ist ein Attribut, das für bestimmte Elemente (wie Formularelemente usw.) in HTML nützlich ist. Sein Wert wird meist zur Verarbeitung an das Backend gesendet.

_HTML-Attribut-Referenz_

1voto

Aditi Punkte 51

Es gibt keinen buchstäblichen Unterschied zwischen einer id y Name .

Name ist ein Bezeichner und wird in der vom Browser gesendeten HTTP-Anfrage als Variablenname für die im value-Attribut des Elements enthaltenen Daten verwendet.

El id andererseits ist ein eindeutiger Bezeichner für Browser, Client-Seite und JavaScript. Daher benötigt das Formular eine id während seine Elemente eine Name .

id wird speziell für das Hinzufügen von Attributen zu eindeutigen Elementen verwendet. In DOM-Methoden, Id wird in JavaScript verwendet, um auf das spezifische Element zu verweisen, in dem die Aktion stattfinden soll.

Zum Beispiel:

<html>

<body>
    <h1 id="demo"></h1>

    <script>
        document.getElementById("demo").innerHTML = "Hello World!";
    </script>
</body>

</html>

Das Gleiche kann mit dem Attribut name erreicht werden, aber es ist vorzuziehen, das Attribut id in einer Form und Name für kleine Formularelemente wie das Eingabe- oder Auswahl-Tag.

0voto

Brook Punkte 26

Nachstehend finden Sie eine interessante Verwendung des id attribute. Es wird innerhalb des <form>-Tags verwendet und dient zur Identifizierung des Formulars für <input>-Elemente außerhalb der </form>-Grenzen, so dass sie in die anderen <input>-Felder innerhalb des Formulars aufgenommen werden.

 <form action="action_page.php" id="form1">
     First name: <input type="text" name="fname"><br>
     <input type="submit" value="Submit">
 </form>

 <p>The "Last name" field below is outside the form element, but still part of the form.</p>
 Last name: <input type="text" name="lname" form="form1">

-1voto

Dangerousgame Punkte 57

El id gibt einem Element eine ID, so dass Sie, sobald Sie echten Code (wie JavaScript) schreiben, die ID verwenden können, um Elemente zu lesen. Die name ist nur ein Name, so dass der Benutzer den Namen des Elements sehen kann, denke ich.

Beispiel:

<h1 id="heading">text</h1>
<script>
  document.getElementById("heading"); // Reads the element that has the id "heading".
</script>

// You can also use something like this:
document.getElementById("heading").value; // Reads the value of the selected element.

0 Stimmen

Natürlich können Sie auch über das Attribut name auf Elemente zugreifen: document.querySelector('[name="heading"]') (um bei dem Beispiel zu bleiben).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X