从id获取值并将其传递给函数

时间:2017-03-06 18:51:01

标签: javascript html

有人知道我在哪里弄错了吗?



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;
&#13;
&#13;

输出未定义

5 个答案:

答案 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>