suchen
HeimWeb-FrontendCSS-TutorialEine kurze Diskussion über den Unterschied zwischen ID und Name im HTML-Beispielcode_Experience Exchange

Wir können die subtilen Unterschiede durch einen Codeabschnitt analysieren:







im IE-Browser Wie viele Methoden können wir verwenden, um dieses Textfeldobjekt zu indizieren? (Zur Unterscheidung setzen wir NAME und ID auf unterschiedliche Werte)
1. demoform.oDemo
3 🎜>5. document.forms['demoform'].oDemo
7. document.forms['demoform'].childNodes[0]
8. document.forms['demoform'].elements[0]
9. document.getElementById('oDemo2')

Die oben genannten 9 Indizierungsmethoden haben alle den Rückgabewerttest in IE6 bestanden Erwähnenswert ist das Letzte: In IE6 habe ich das Indexobjekt als

document.getElementById('oDemo') geschrieben, und der Browser kann das Objekt korrekt indizieren. Es ist wirklich schreckliche Fehlertoleranz! !

Dann kommt das Problem. Wir fügen diesen Code in Mozilla Firefox 1.0 ein und führen ihn erneut aus. Andere Methoden können das Objekt jedoch korrekt

indizieren , da die dritte und vierte Methode das IE-spezifische Objekt document.all verwenden, gab FF1.0 zwar den korrekten Wert zurück, gab jedoch eine Warnung

in der Konsole aus: Warnung: Nicht autorisierte Standardeigenschaften document.all. Bitte verwenden Sie die W3C-Standardform document.getElementById() .

Als nächstes definieren wir den HTML-Texttyp strenger und fügen am Anfang des Quellcodes Folgendes hinzu:




damit der HTML-Text entsprechend analysiert wird Beim HTML4.01-Standard bestehen im IE6 noch alle Rückgabewerttests, aber in Mozilla Firefox 1.0 ist das Problem groß. Die dritte und vierte Methode
nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> haben keinen Rückgabewert, sondern eine Fehlermeldung wird in der Konsole ausgegeben: Fehler: document.all hat keine Eigenschaften, und die 7. Methode gibt immer noch „undefiniert

“ zurück.

Zusammenfassung

name wurde ursprünglich zur Identifizierung verwendet, aber jetzt wird gemäß der Spezifikation empfohlen, id zur Identifizierung von Elementen zu verwenden.

Im Folgenden darf nur der Name verwendet werden:
1. Der Name des Steuerelements des Formulars und die übermittelten Daten werden durch den Namen des Steuerelements und nicht durch die ID gesteuert. Denn es gibt viele Namen, die mehreren Steuerelementen gleichzeitig entsprechen, wie z. B.

Kontrollkästchen und Radio, und die ID muss im gesamten Dokument eindeutig sein. Darüber hinaus stellt der Browser anhand des Namens die an den Server gesendete Anfrage ein. Daher kann der Server bei Verwendung der ID die Daten nicht abrufen. ​
2. Frame- und Fensternamen werden verwendet, um Ziele in anderen Frames oder Fenstern anzugeben.

Nur ​​IDs können für Folgendes verwendet werden:
1. Die Zuordnung zwischen Beschriftung und Formularsteuerung,

Meine Eingabe

Das für Das Attribut gibt die Zuordnung zum Label an. Die ID des Elements kann nicht durch den Namen ersetzt werden.​ 2. Der Elementauswahlmechanismus von CSS verwendet #MyId, um das Element anzugeben, auf das der Stil angewendet werden soll, und kann nicht durch einen Namen ersetzt werden.
3. Abrufen des Objekts im Skript:
IE unterstützt die direkte Referenzierung des Objekts, das durch die ID (anstelle des Namens) im Skript identifiziert wird. Wenn Sie beispielsweise für die obige Eingabe den Eingabeinhalt im Skript abrufen möchten, können Sie ihn direkt mit

MyInput.value abrufen.
Wenn Sie DOM verwenden, verwenden Sie document.getElementById("MyInput").value. Wenn Sie name verwenden möchten, erhalten Sie normalerweise zuerst das Formular, das das Steuerelement enthält, z. B.

document.forms[0 ] und dann auf den Namen aus dem Formular verweisen. Beachten Sie, dass der auf diese Weise erhaltene Wert der Wert ist, der nach der Berechnung an den Server gesendet wird.

Andere Unterschiede zwischen Name und ID sind:
Die ID muss den Identifizierungsanforderungen entsprechen, wie z. B. Groß-/Kleinschreibung, und es ist am besten, keine Unterstriche einzufügen (da sie nicht mit CSS kompatibel ist). Für den Namen gibt es grundsätzlich keine Vorgaben, es können sogar Zahlen verwendet werden

.

Verwenden Sie CSS, um den Aufenthaltsstil dieses Links zu steuern
Sie können so schreiben: #m_blog div.opt a:hover{color:#D57813} oder #myLink:hover{color:#D57813}.

NAME wird hauptsächlich in interaktiven Webseiten verwendet. Das Formular wird an ein serverseitiges Skript übermittelt und erhält ein variables Verarbeitungsvolumen. Aus Sicht der Quellcode-Standardisierung und -Kompatibilität wird empfohlen, die Methode document.getElementById() zu verwenden, wenn Sie ein Objekt im Client-Skript

indizieren möchten. Versuchen Sie, den NAME-Wert nicht direkt zu verwenden. Wenn die Kompatibilität nicht berücksichtigt wird, können die oben genannten 9 Methoden

natürlich alle im IE ausgeführt werden (IE5.0 wurde nicht getestet).

Anhang: Quellcode testen



nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

























Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
HTML超文本标记语言--超在那里?(文档分析)HTML超文本标记语言--超在那里?(文档分析)Aug 02, 2022 pm 06:04 PM

本篇文章带大家了解一下HTML(超文本标记语言),介绍一下HTML的本质,HTML文档的结构、HTML文档的基本标签和图像标签、列表、表格标签、媒体元素、表单,希望对大家有所帮助!

html和css算编程语言吗html和css算编程语言吗Sep 21, 2022 pm 04:09 PM

不算。html是一种用来告知浏览器如何组织页面的标记语言,而CSS是一种用来表现HTML或XML等文件样式的样式设计语言;html和css不具备很强的逻辑性和流程控制功能,缺乏灵活性,且html和css不能按照人类的设计对一件工作进行重复的循环,直至得到让人类满意的答案。

web前端笔试题库之HTML篇web前端笔试题库之HTML篇Apr 21, 2022 am 11:56 AM

总结了一些web前端面试(笔试)题分享给大家,本篇文章就先给大家分享HTML部分的笔试题(附答案),大家可以自己做做,看看能答对几个!

HTML5中画布标签是什么HTML5中画布标签是什么May 18, 2022 pm 04:55 PM

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

总结HTML中a标签的使用方法及跳转方式总结HTML中a标签的使用方法及跳转方式Aug 05, 2022 am 09:18 AM

本文给大家总结介绍a标签使用方法和跳转方式,希望对大家有所帮助!

html5废弃了哪个列表标签html5废弃了哪个列表标签Jun 01, 2022 pm 06:32 PM

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

html中document是什么html中document是什么Jun 17, 2022 pm 04:18 PM

在html中,document是文档对象的意思,代表浏览器窗口的文档;document对象是window对象的子对象,所以可通过“window.document”属性对其进行访问,每个载入浏览器的HTML文档都会成为Document对象。

html5支持boolean值属性吗html5支持boolean值属性吗Apr 22, 2022 pm 04:56 PM

html5支持boolean值属性;boolean值属性指是属性值为true或者false的属性,如input元素中的disabled属性,不使用该属性表示值为flase,不禁用元素,使用该属性可以不设置属性值表示值为true,禁用元素。

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version