有人知道我在哪里弄错了吗?
function functionTest(name) {
var Name = name;
alert(Name);
}

<h3 id="name" value="testingName"><a href="#"> test </a></h3>
<button onclick="functionTest(document.getElementById('name').value)"></button>
&#13;
输出未定义
答案 0 :(得分:4)
<h3>
个元素不具有 value
属性。但您可以使用data-*
属性。像这样:
<h3 id="name" data-value="testingName">
然后你可以从dataset
属性访问它:
document.getElementById('name').dataset.value
Example,使用原始代码
function functionTest(name) {
var Name = name;
alert(Name);
}
<h3 id="name" data-value="testingName"><a href="#"> test </a></h3>
<button onclick="functionTest(document.getElementById('name').dataset.value)"></button>
答案 1 :(得分:2)
您的代码存在许多语义问题。对于初学者,LinkSummary
属性通常仅适用于value
标记。
如果你真的想在不修改HTML代码的情况下使代码工作,那么<input>
就足够了,但这就是一个接一个地添加错误。
我会做的是:
document.getElementById('name').getAttribute('value')
这在语义上是正确的,因为标题(或任何标记)可以具有以<h3 id="name" data-value="testingName"><a href="#"> test </a></h3>
<button onclick="functionTest(document.getElementById('name').getAttribute("data-value"))"></button>
开头的属性。
答案 2 :(得分:0)
你必须在元素上使用getAttribute
这里是更正后的代码
function functionTest(name) {
var Name = name;
alert(Name);
}
<h3 id="name" value="testingName"><a href="#"> test </a></h3>
<button onclick="functionTest(document.getElementById('name').getAttribute('value'))"></button>
答案 3 :(得分:0)
{"data":[{"title":"name of module2",
"description":"description of module2",
"weeks":[{"id":2,"title":"Week 02"}],
"user":[{"id":2,"name":"john"}]
}]
}
没有值属性。它具有H3
属性。
innerHTML
将其视为自定义用户定义的属性。您可以使用value
如果你想获得getAttribute
,那么你应该像这样使用
innerHTML
答案 4 :(得分:-2)
使用
<button onclick="functionTest(document.getElementById('name').getAttribute("value"))"></button>