【问题标题】:how to insert data to an HTML div如何将数据插入 HTML div
【发布时间】:2014-12-01 19:57:42
【问题描述】:

我有一个将 sql 查询对象呈现到视图页面的脚本。 我正在尝试从该对象中检索名字并希望将其打印在 UI 上。

我有可以做的功能

 res.render(
      'login',
      {"data": data}); 

数据有一行

 [{id:9, user_name:'abc', email:'abc@ask.com', password: '1234', firstname: 'monica', lastname:'than'}]

我将其传递给一个 .ejs 文件,在该文件中我得到名字“monica”,如下所示:

 <body> 
 <h1> Welcome! </h1><p id="pil"></p>  
 <br>
 <br>
 <br>       
    <h3>Search for Pilgrim </h3>  
 <script>
    var name = <%- data[0].firstname %>
    document.getElementById("pil").innerText=  <%- data[0].firstname %>;
</script>      
</body>   

名称正在获取值 monica - 从调试器控制台观察到。

但我没有在任何地方的 UI 上打印这个。

谁能告诉我这里出了什么问题?

【问题讨论】:

  • jsfiddle.net...
  • 您缺少关于莫妮卡的名言。 var name = "&lt;%- data[0].firstname %&gt;"
  • 你在name = &lt;%- data[0].firstname %&gt;之后错过了分号
  • 我的名字变量里面有莫妮卡,即使我没有给分号
  • 也尝试了引号。我的名字变量现在变成了“monica”,而不仅仅是 monica

标签: javascript html ejs


【解决方案1】:

试试这个-

document.getElementById("pil").innerHTML=" <%- data[0].firstname %>";

【讨论】:

  • 使用 innerHTML 代替 innerText
  • 我还是不明白..!我试过document.getElementById("pil").innerHTML=" &lt;%- data[0].firstname %&gt;";
  • 现在我的调试器控制台显示 --

    var name = monica document.getElementById("pil").innerHTML= "monica";
  • pil 段落仍然显示为空,尽管变量 'name' 中有 monica
  • @MonicaThaneer:可能有不止一个元素具有 id="pil"
【解决方案2】:

你应该使用:

var name = "<%- data[0].firstname %>";
document.getElementById("pil").innerText=  name;

因为id="pil"只有一个元素

我认为问题在于将代码包装在函数中,也许你应该试试这个:

<body onload="myFunction()"> 

和js是这样的:

function myFunction() {
  var name = "<%- data[0].firstname %>";
  document.getElementById("pil").innerText=  name;  
}

这是工作的FIDDLE

【讨论】:

    猜你喜欢
    • 2010-10-09
    • 2018-05-23
    • 2019-08-28
    • 1970-01-01
    • 2014-09-12
    • 2019-06-06
    • 2013-10-17
    • 2022-01-04
    相关资源
    最近更新 更多