Javascript 当我使用.html()函数时,jQuery 1.3.2会在IE上添加sizset=''sizcache=''属性

Javascript 当我使用.html()函数时,jQuery 1.3.2会在IE上添加sizset=''sizcache=''属性,javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,Internet Explorer,当我执行$'divtborder'.html时,我会得到以下结果: <DIV id=tborder style="BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; DISPLAY: block; FONT-SIZE: 12px; BORDER-LEFT: #000 1px solid; BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: Arial; TEXT-ALIGN: left

当我执行$'divtborder'.html时,我会得到以下结果:

<DIV id=tborder style="BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; 
DISPLAY: block; FONT-SIZE: 12px; BORDER-LEFT: #000 1px solid; 
BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: Arial; 
TEXT-ALIGN: left" sizcache="9" sizset="124">Some Text </div>
请参见设置其他sizcache和sizset属性。我怎样才能摆脱这些?根据,这是jQuery1.3.2中的一个已知错误。请参阅本文中的评论

原始代码:

<DIV id=tborder style="BORDER: #000 1px solid;  
DISPLAY: block; FONT-SIZE: 12px; FONT-FAMILY: Arial; 
TEXT-ALIGN: left">Some Text </div>

你真的需要使用html吗?它似乎返回了许多无用的属性以及sizcache和sizset。如果您想要的只是文本,那么请查看文本

在id值周围加引号。 id=tborder->id=tborder 同时使两个div都小写。 ->

如果这两件事不起作用。然后使用removeAttr.html

$tborder.removeAttrsizcache.removeAttr sizset.html;
虽然不是一个好的解决方案,但我已经使用javascript RegExp函数暂时破解了它。

如果您的页面中有javascript错误,您将看到这些错误并不总是被sizzle引擎删除。例如,如果您在window opener pages javascript函数中放置了对方法/函数的引用,而您没有从该opener打开页面,您将看到这些

例如,在此代码中,开启器不存在:

if (self.opener.panelNotes)
{
    self.opener.__doPostBack("panelNotes", "");
};
因为我直接打开了窗口,而它没有被另一个窗口打开,所以不存在打开程序。这会在页面上出现javascript错误

网页错误详细信息

用户代理:与Mozilla/4.0兼容; msie7.0;windowsnt5.1;三叉戟/4.0; .NET CLR 1.1.4322。NET CLR 2.0.50727; .NET CLR 3.0.04506.30;MDDR。净清除率 3.0.4506.2152; .NET CLR 3.5.30729;InfoPath.2;OfficeLiveConnector.1.3; OfficeLivePatch.0.0时间戳:星期四,6 2010年5月15:15:16 UTC

消息:“self.opener.panelNotes”是 空或不是对象行:278字符: 9代码:0 URI:


您能展示tborder在原始HTML代码中的样子吗?你的代码有效吗?注释指的是标记未关闭时有时会发生这种情况。@pekka:原始代码相同,不包括这两个标记,并且代码经过xhtml验证。我使用javascript RegExp函数临时对其进行了黑客攻击。哪个IE?无法在IE6中复制此功能。请给出一个小的工作示例,它再现了这一点。根据我到目前为止读到的内容,它取决于调用顺序、不干净的html,…@Marius:我知道文本是更好的选择,因为我的div中有另一个较小的div,为了简化,我省略了它。