2013-10-27 98 views
2

嘿家伙我有一些代码在这里,应该在页面上创建HTML元素,今天显示日期ID ='今天'旁边如何使用textnode写出ID ?谢谢你的帮助!这是我的完整代码:JavaScript使用DOM的方法和属性

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;  
    } 
+0

量程上限? Onload只适用于windows /框架和图像 – mplungjan

+0

有趣的使用'$'函数作为'document.getElementById'的简写。我以前从未见过 - 试图让它看起来像JQuery我猜? ** + 1 **有趣。 –

回答

2

跨度的onload?在跨度上不会触发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); 
1

尝试更换这行:

$("today").onload = TodaysDate; 

这一行:

TodaysDate(); 

因为SPAN标签不支持onload事件(见this answer)

试一试here