Javascript 当我使用.html()函数时,jQuery 1.3.2会在IE上添加sizset=''sizcache=''属性
当我执行$'divtborder'.html时,我会得到以下结果: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
<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,为了简化,我省略了它。