Asp.net 标记名为null或不是对象--IE7中使用最新版本的jQuery(1.2.6)时出现错误消息
是否有其他人看到此错误消息。谷歌的快速检查并没有给我太多的提示。你可能正在尝试这样做Asp.net 标记名为null或不是对象--IE7中使用最新版本的jQuery(1.2.6)时出现错误消息,asp.net,javascript,jquery,Asp.net,Javascript,Jquery,是否有其他人看到此错误消息。谷歌的快速检查并没有给我太多的提示。你可能正在尝试这样做 alert($("#myElement").tagName); 你应该这样做 alert($("#myElement")[0].tagName); 确保在呈现页面后运行脚本。如果您的脚本位于页面顶部并立即运行,而您的DIV位于该脚本下方,则DIV还不存在。很抱歉,这是一个我半途而废的问题。我现在正在检查我的.js文件并删除整个代码块。我已经将它隔离到一个特定的.js文件中 感谢您阅读并回答此问题。如果您仅在
alert($("#myElement").tagName);
你应该这样做
alert($("#myElement")[0].tagName);
确保在呈现页面后运行脚本。如果您的脚本位于页面顶部并立即运行,而您的DIV位于该脚本下方,则DIV还不存在。很抱歉,这是一个我半途而废的问题。我现在正在检查我的.js文件并删除整个代码块。我已经将它隔离到一个特定的.js文件中
感谢您阅读并回答此问题。如果您仅在IE中看到此问题,则可能是DivX web插件的错误: 这个问题在DivX网站上得到了确认,网站上说“在下一个版本中修复”(2011年4月) 本质上,错误在于DivX用一个截取函数替换el.appendChild()函数,该截取函数尝试将标记名小写,但不检查它是否是文本节点。如果您尝试执行类似于
$('body').append('hi!')
的操作,这将中断jQuery。此外,它无法返回元素,这会中断SWFObject
解决方法是确保从不使用文本节点或多个顶级元素调用append()。如果要附加一系列项目:
append($('<div>hi</div><div>there</div>'))
给我们一个产生这个问题的代码示例-我打赌jessegavin是在做什么…alert($(“#myElement”).get(0).tagName可能是您示例的首选语法。例如:“这个函数称为$(this).get(0)相当于在jQuery对象本身上使用方括号表示法,如$(this)[0]
append($('<div><div>hi</div><div>there</div></div>'))
window.fixDivxPlayerBug = function () {
var b = document.getElementsByTagName('body')[0];
if ( window['ReplaceVideoElements'] && ! b.appendChildDivx ){
b.appendChildDivx = b.appendChild;
b.appendChild = function (el) {
if( el.tagName == null) {
var wrap = document.createElement('div');
wrap.appendChild(el);
b.appendChildDivx(wrap);
}
else {
b.appendChildDivx(el);
}
return el;
};
}
};