【问题标题】:How can I use innerhtml in JavaScript?如何在 JavaScript 中使用 innerhtml?
【发布时间】:2012-09-21 02:56:37
【问题描述】:

我的问题是我不知道如何显示我的表单的 innerhtml。

表单就像一个调查表,一旦你点击提交按钮,我回答的所有内容都会显示为一个摘要页面......

function displayResult() {
    var first = document.getElementById("first").value;

    var middle = document.getElementById("middle").value;

    var last = document.getElementById("last").value;

    alert("oh");
    var maincontent = document.getElementById("content").innerHTML;
    maincontent = "<p>" + first;

}

【问题讨论】:

  • 首先我会去掉那个尾随的"
  • 查看 JSFiddle (jsfiddle.net) 并放一个 HTML 和 JS 示例,以便我们查看您正在使用的 DOM
  • jsfiddle.net/8TtxV 在这里 :(
  • element.innerHTML 是一个 property,具有 gettersetter。您无法将其作为节点引用,因为当您像var content = domelement.innerHTML; 一样直接调用它时,您得到它是字符串中的值,不是对它就像一个函数。因此,您必须将.innerHTML 传递到下一行并将其与节点引用一起使用。
  • @JaredFarrish 是的,现在我明白了。非常感谢你的帮助。

标签: javascript html innerhtml


【解决方案1】:
var maincontent = document.getElementById("content").innerHTML;
maincontent = "<p>" + first;

在第二行,您将覆盖变量,而不是设置 .innerHTML。这就是你想要的:

var maincontent = document.getElementById("content");
maincontent.innerHTML = "<p>" + first;

此外,您必须确保 ID 为“first”、“middle”和“last”的元素确实存在,否则可能会导致 TypeError

【讨论】:

  • @ghie 确保你有一个 id 等于“content”的元素。像这样:id="content"。另外,确保 id 为“first”、“middle”和“last”的元素确实存在。
  • 哦..我明白了。谢谢!我想我忘了 id 的东西-.- 谢谢!
【解决方案2】:

试试这个:

但是,您应该首先拥有 id。 并且您应该在 html 部分中需要内容 div。

<script>
function displayResult() {
    var first = document.getElementById("first").value;

    var maincontent = "";
    maincontent = "<p>" + first + "</p>";
    document.getElementById("content").innerHTML = maincontent;

}
</script>
<body>
<input type="text" id="first" value="good">
<button onclick="displayResult();">Click me!!!</button>
<div id="content"></div>
</body>

【讨论】:

    【解决方案3】:

    而不是这个:

    var maincontent = document.getElementById("content").innerHTML;
    maincontent = "<p>" + first;`
    

    试试这个:

    document.getElementById("content").innerHTML = "<p>" + first;
    

    您可能还想使用 .innerHTML 而不是 .value 来获得“第一”?我不确定“第一”是什么元素。

    【讨论】:

    • 谢谢!我已经尝试过了,但它没有显示任何内容:(你认为这有什么问题?对不起......我只是 javascript 的新手.. :(
    【解决方案4】:

    你的 id 为 "contend" 的元素是什么,一个 div? td? tr?要么 ?应该是这样的

     <div id='content'> 
       </div>
    

    然后这是javascript代码

    document.getElementById("content").innerHTML = "<p>" + first + middle + last + "</p>"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 2015-05-10
      • 2023-03-27
      • 2014-09-24
      相关资源
      最近更新 更多