2

嘿伙计们,我这里有一些代码应该在页面上创建 HTML 元素,这些元素将在 ID='today' 旁边显示今天的日期 如何使用文本节点写出 ID?谢谢你的帮助!这是我的完整代码:

HTML:

  <body>
  <h1>ToDo List - Date: <span id='today'>&nbsp;</span></h1>

  <div id="todolist">
<p>
    <input type="button" id="additem" value="Add Item">
</p>
  </div>

  <hr>

  <div>
<p>
    <input type="button" id="sortitems" value="Sort and Display Items">
</p>

<p id="displayitems">
</p>
   </div>
  </body>

Javascript:

 var $ = function (id){
return document.getElementById(id);
   }

  var TodaysDate = function () {
  var myDate = new Date();

  var myMonth = myDate.getMonth() + 1;
  var myDay = myDate.getDate();
  var myYear = myDate.getFullYear();

  var myResponse = myMonth + "/" + myDay + "/" + myYear;

  var myPara = document.createElement("p");
  var myP = document.getElementById('today');
  myP.appendChild(myPara);

  var myText = document.createTextNode(myResponse);
  myPara.appendChild(myText);

  }
  window.onload = function ()
  {
   $("today").onload = TodaysDate;
   $("sortitems").onclick = sortItem;
   $("additems").onclick = addItem;     
  }
4

2 回答 2

2

跨度加载?跨度不会触发 Onload。其他对象确实有加载事件,例如:窗口/框架、正文、链接、脚本和图像

改变

 $("today").onload = TodaysDate;

 TodaysDate();

var myPara = document.createElement("p");
var myP = document.getElementById('today');
myP.appendChild(myPara);
var myText = document.createTextNode(myResponse);
myPara.appendChild(myText);

var myPara = document.createElement("p");
var myText = document.createTextNode(myResponse);
myPara.appendChild(myText);

var myP = $('today');
myP.appendChild(myPara);
于 2013-10-27T20:51:00.363 回答
1

尝试替换此行:

$("today").onload = TodaysDate;

用这条线:

TodaysDate();

因为SPAN标签不支持onload事件(见这个答案)

在这里试试。

于 2013-10-27T20:57:18.253 回答