是否可以使用Javascript中的DOM将数据附加到html元素中?

时间:2016-02-14 00:47:40

标签: javascript html dom

我一直在寻找重复的问题,但是很多问题都是指向XML添加数据 请原谅我,如果我在这里遗漏了一些东西,但我需要一些帮助

到目前为止,我有这个:

html page

keyword

controlpanelAdmin.js

<!DOCTYPE html>
<html>
<head>
<title>Template</title>
<script type="text/javascript" src="script/controlpanelAdmin.js"></script>
<script type="text/javascript" src="script/controlpanelModerator.js"></script>
<script type="text/javascript" src="script/jquery-1.12.0.js"></script>
<link rel="stylesheet" href="script/css.css" />
</head>
<body>
<fieldset id="control_panel">
<legend>Control Panel</legend>
</fieldset>

<p id="content"> Content </p>

</body>
</html>

controlpanelModerator.js

window.onload = function() {

var controlpanel = document.getElementById("control_panel");
var para = document.createElement("p");
var att = document.createAttribute("admin");
var br = document.createElement("br");
var txt = document.createTextNode("Admin Control Panel");



controlpanel.appendChild(para);
para.setAttribute("id", att);
para.appendChild(txt);
para.appendChild(br);
}

页面加载时,“管理控制面板”会写入fieldset标记 但随后被替换为:'主持人控制面板'

我不能为我的生活思考如何将两条线(也可能是其他数据)附加到一个元素中

2 个答案:

答案 0 :(得分:3)

  

页面加载时,“管理控制面板”会写入字段集标记,但会被替换为:“主持人控制面板”

这不可能发生。 管理控制面板不应出现在页面中。

  1. script/controlpanelAdmin.js加载。它会将值分配给window.onload
  2. script/controlpanelModerator.js加载。它会导致该值被覆盖并使用新值。
  3. 页面完成加载
  4. 加载事件触发
  5. script/controlpanelModerator.js中定义的函数称为
  6. 不要为window.onload指定值。请改用addEventListener

    addEventListener("load", function () { ... });
    

答案 1 :(得分:1)

你有两个onload函数竞争。你能把它们合并成一个函数吗?