繁体   English   中英

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

[英]jQuery 1.3.2 adds sizset='' sizcache='' attributes on IE when I use .html() function

当我执行$('div#tborder')。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一个已知的bug 也请参阅本文中的评论。

原始代码:

<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一起返回了许多无用的属性。 如果您只需要文本,那么可以看一下text()

在id值两边加上引号。 id=tborder > id="tborder"
同时使两个div小写。 <DIV> </div> -> <div></div>

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

$( "#tborder" ).removeAttr("sizcache").removeAttr( "sizset" ).html();

虽然不是很好的解决方案,但我已经使用javascript RegExp函数暂时将其破解。

如果您的页面中出现JavaScript错误,您会发现这些错误并不总是会被sizzle引擎删除。 例如,如果您在窗口打开器页面的javascript函数中引用了方法/函数,而您没有从该打开器中打开页面,则会看到这些。

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

if (self.opener.panelNotes)
{
    self.opener.__doPostBack("panelNotes", "");
};

因为我直接打开了窗口,并且没有被另一个窗口打开,所以没有打开器存在。 这会在页面上显示JavaScript错误

网页错误详细信息

用户代理:Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 5.1; Trident / 4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; MDDR; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)时间戳:2010年5月6日,星期四,UTC

消息:'self.opener.panelNotes'为空或不是对象行:278字符:9代码:0 URI: http://localhost/prototype/Apps/SmartPrototype/Js/MarkPrototype.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM