将函数传递给innerHTML

Posted

技术标签:

【中文标题】将函数传递给innerHTML【英文标题】:Passing function to innerHTML 【发布时间】:2014-09-10 09:54:09 【问题描述】:

我可以将函数传递给 innerhtml 吗? 我想过将函数名称 data() 传递给 innerHTML。可能吗 ?? 我想要创建一个按钮,并且该按钮应在单击时显示一个表格。

<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction">Try it</button>
<p id="demo"></p>

<script>
function myFunction() 

document.getElementById("demo").innerHTML = data();

data()

<table>
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td>January</td>
    <td>$100</td>
  </tr>
</table>


</script>

</body>
</html>

【问题讨论】:

不,你拥有的是无效的,innerHTML 只接受字符串。 一种新的语言诞生了 那么,好的,谢谢!那么如何在尝试按钮的帮助下显示表格?请帮帮我。 我是编程新手...!!! :P @RoyiNamir:请帮帮我!! 【参考方案1】:

试试这个

<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>

<script>
function myFunction() 

document.getElementById("demo").innerHTML = data();


function data()

var html = '<table>';
  html += '<tr>';
    html += '<th>Month</th>';
    html += '<th>Savings</th>';
  html += '</tr>';
  html += '<tr>';
    html += '<td>January</td>';
    html += '<td>$100</td>';
  html += '</tr>';
html += '</table>';
return html

</script>

</body>
</html>

【讨论】:

试试这个你放 onclick="myFunction" 的代码,它必须是 onclick="myFunction()"【参考方案2】:

您需要调用函数,而不仅仅是评估标识符:

<button onclick="myFunction()">Try it</button>

您用于内容的函数必须包含 javascript,而不是 HTML 代码。它应该返回一个可由innerHTML 属性使用的字符串:

data()

  return '<table>' +
  '  <tr>' +
  '    <th>Month</th>' +
  '    <th>Savings</th>' +
  '  </tr>' +
  '  <tr>' +
  '    <td>January</td>' +
  '    <td>$100</td>' +
  '  </tr>' +
  '</table>';

【讨论】:

以上是关于将函数传递给innerHTML的主要内容,如果未能解决你的问题,请参考以下文章

将参数传递给函数

将数组中的所有值作为参数传递给函数

Python - 将一个函数传递给另一个函数

Prettyphoto - 如何将唯一参数传递给回调函数

JavaScript:将参数传递给回调函数

Python最小化函数:将附加参数传递给约束字典