由於@robg在說評論:
在大多數瀏覽器中,DOM元素通常只有r將標準屬性作爲DOM屬性反映(有一些例外)。名字不是跨度元素的標準屬性,所以你需要使用的getAttribute
你需要使用getAttribute從您span
獲得name
屬性。
var x = document.getElementById("demo").getAttribute("name");
Plunker來顯示它的工作。
如果您試圖在html元素中存儲任意數據,請查看data-*
屬性。 Docs。
對於應該與特定元素關聯但不需要任何定義含義的數據,HTML5的設計考慮了可擴展性。 data- *屬性允許我們在標準語義HTML元素上存儲額外信息,而無需其他黑客(如classList),非標準屬性,DOM上的額外屬性或setUserData。
然後,您可以做
HTML:
<span id="demo" data-name="Span name using data-name" onclick="validateForm1id1()">Click me</span>
JS:
function validateForm1id1() {
var x = document.getElementById("demo").dataset.name;
alert(x);
}
Plunker顯示data-*
屬性。
在大多數瀏覽器中,DOM元素通常只反映DOM屬性的標準屬性(有一些例外)。 * name *不是[* span * elements](http://w3c.github.io/html/textlevel-semantics.html#the-span-element)的標準屬性,所以您需要使用* *的getAttribute。 – RobG