(function () {
function $(id) {
return document.getElementById(id);
}
function alertNodeName(id) {
alert($(id).nodeName);
}
window['myNamespace'] = {};//创建属性并为此属性赋值
window['myNamespace']['showNodeName'] = alertNodeName;
})();
myNamespace.showNodeName('txtTest');
报错:Uncaught TypeError: Cannot read property 'nodeName' of null
如果不立刻执行就不报错,我在浏览器控制台执行就没有报错
你考虑过你的元素不存在吗?如果$(id),返回null,那么访问nodeName就会报错了。估计你这代码是放在head里面的吧。
哦,对哦,我是在头部引用的脚本,元素还没创建呢
@学弱: :)
alert($(id).nodeName);
这里nodeName哪里来的???$(id)是一个方法啊
$(id)这个方法不是返回了一个return document.getElementById(id);了吗,nodeName js自带的啊。
难道不对吗?