不引人注目的javascript呈现

时间:2009-05-28 01:15:28

标签: javascript html dom

在维基百科条目Unobtrusive JavaScript中有一个突兀的JavaScript示例:

<input type="text" name="date" onchange="validateDate(this);" />

解决方案如下:

<input type="text" name="date" />

window.onload = function(){ //Wait for the page to load.
    var inputs = document.getElementsByTagName('input');
    for(var i=0,l=inputs.length;i<l;i++){ 
        input = inputs[i];
        if(input.name && input.name=='date'){ 
            input.onchange = function(){ 
                validateDate();
            }
        }
    }
};

function validateDate(){
    //Do something when the content of the 'input' element with the name 'date' is changed.
}

有没有办法从第二个生成第一个代码示例?换句话说,是否可以在JavaScript对其执行操作后“呈现”页面的HTML?

1 个答案:

答案 0 :(得分:1)

JavaScript可用于呈现HTML(向DOM添加元素),这基本上就是解决方案的作用。但是,如果您在添加onchange事件后查看页面源,则无法看到它 - 这是因为浏览器仅显示未更改的DOM。

如果您想浏览更新的DOM,请下载适用于Firefox的Firebug。我不能推荐这个工具!