在使用Thickbox加载元素后覆盖内联样式

时间:2012-05-18 13:55:07

标签: jquery html css inline thickbox

我有一个表单,并且有一个绑定到<a>元素的厚箱。单击该元素时,它会在框内加载一个URL并运行一些脚本。由于我正在处理的平台的限制,我无法访问脚本,thickbox.js或正在加载的HTML。我所能做的就是编写自己的风格和脚本。

问题是,在#TB_window加载后,某些内联样式会给它<div id="TB_window" style="position: fixed; z-index: 10002; top: 50%; left: 50%; margin-left: -315px; width: 630px; margin-top: -220px; display: block; "> 。看看:

<a>

我的整个问题在于宽度,我需要覆盖那种风格。我尝试将点击事件绑定到('a#btnReferAFriend').click(function(){ if('#TB_title.length'){ $('#TB_window').css('width','400px'); alert($#TB_window.css('width'); } else { alert('Wrong'); } }); ,如下所示:

thickbox.js

结果是脚本是一个显示“400px”的警报。但就在此之后,我的风格被内联的风格所覆盖。我不确切知道发生了什么,我认为另一个脚本正在运行某个地方,可能是一个修改过的{{1}}?

在应用之后,我应该怎样覆盖内联样式

2 个答案:

答案 0 :(得分:1)

您可以使用以下样式:

#TB_window { width:400px !important; }

这应该覆盖在内联样式中找到的宽度。

答案 1 :(得分:0)

您可以删除内联样式以强制它遵守您自己的声明:

$('#TB_window').removeAttr('style')