Javascript jQuery:隐藏元素
我有一个“反馈小部件”,我想为低分辨率屏幕隐藏它。我的问题是,它在Javascript jQuery:隐藏元素,javascript,jquery,html,Javascript,Jquery,Html,我有一个“反馈小部件”,我想为低分辨率屏幕隐藏它。我的问题是,它在之后注入了以下代码,不管我尝试了什么,我都无法隐藏reformal\u tab元素 <a id="reformal_tab" href="http://domain.com" onclick="Reformal.widgetOpen();return false;" onmouseover="Reformal.widgetPreload();" onmouseout="Reformal.widgetAbortPreload(
之后注入了以下代码,不管我尝试了什么,我都无法隐藏reformal\u tab
元素
<a id="reformal_tab" href="http://domain.com" onclick="Reformal.widgetOpen();return false;" onmouseover="Reformal.widgetPreload();" onmouseout="Reformal.widgetAbortPreload();"><img alt="" src="domain.com/tab.png"></a>
我试过的
<script>
$('reformal_tab').hide();
$('#reformal_tab').hide();
</script>
$('reformal_tab').hide();
$(“#格式选项卡”).hide();
如果可以的话,这就是实际的小部件
守则:
<script type="text/javascript">
$(function() {
$('#reformal_tab').hide();
});
var reformalOptions = {
project_id: 93459,
project_host: "domain.com",
tab_orientation: "left",
tab_indent: "50%",
tab_bg_color: "#F05A00",
tab_border_color: "#FFFFFF",
tab_border_width: 2
};
(function() {
var script = document.createElement('script');
script.type = 'text/javascript'; script.async = true;
script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'media.reformal.ru/widgets/v3/reformal.js';
document.getElementsByTagName('head')[0].appendChild(script);
})();
</script>
$(函数(){
$(“#格式选项卡”).hide();
});
var重新格式化选项={
项目编号:93459,
项目主持人:“domain.com”,
tab_方向:“左”,
制表符缩进:“50%”,
选项卡背景颜色:“F05A00”,
选项卡_边框_颜色:#FFFFFF“,
制表符\边框\宽度:2
};
(功能(){
var script=document.createElement('script');
script.type='text/javascript';script.async=true;
script.src=('https:'==document.location.protocol?'https://':'http://')+'media.reformal.ru/widgets/v3/reformal.js';
document.getElementsByTagName('head')[0].appendChild(脚本);
})();
你可以在这里看到它
第二个呼叫是有效的。
#
通过id引用元素
$('#reformal_tab').hide();
文档准备好后,您还需要调用它
$(function() {
$('#reformal_tab').hide();
});
为什么不在注入时将其隐藏起来,然后在高分辨率屏幕上显示呢
<a id="reformal_tab" style="display:none;" href="http://domain.com" ...
第二个调用是有效的。
#
通过id引用元素
$('#reformal_tab').hide();
文档准备好后,您还需要调用它
$(function() {
$('#reformal_tab').hide();
});
为什么不在注入时将其隐藏起来,然后在高分辨率屏幕上显示呢
<a id="reformal_tab" style="display:none;" href="http://domain.com" ...
为什么不干脆把它拿走呢
$('#reformal_tab').remove();
为什么不干脆把它拿走呢
$('#reformal_tab').remove();
如果元素被注入javascript,那么它可能在DOM就绪后动态插入。解决方案相当简单,在您的CSS中:
#reformal_tab {display: none;}
如果元素被注入javascript,那么它可能在DOM就绪后动态插入。解决方案相当简单,在您的CSS中:
#reformal_tab {display: none;}
html是否出现在页面中的javascript之前?如果将其包装在
$(function(){})
中会怎么样?在您尝试调用hide后,它可能正在注入reformal_tab元素$(“#reformal_选项卡”).hide();我应该做的。我把皮藏起来;在加载jquey in head标记之前编写代码,并将hide()放在脚本标记的body标记之后。html是否显示在页面中的javascript之前?如果将其包装在$(function(){})
中会怎么样?在尝试调用hide之后,它可能正在注入reformal_tab元素$(“#reformal_选项卡”).hide();我应该做的。我把皮藏起来;在加载jquey in head标记之前编写代码,并将hide()放在脚本标记的body标记之后。@TESLISIMUS-好的,做了一些更改。这应该可以删除javascript或将.hide
更改为.show
。检查您是否正确引用了jquery javascript?@Mal-OP的问题是HTML被注入DOM,因此在注入元素之前调用hide()
,因此当时不存在。@Aesthete不确定是否可行,请检查“小部件代码”@Aesthete ah!好的,很抱歉我没有意识到这一点。@teslasimus-好的,做了一些更改。删除javascript或将.hide
更改为.show
,这肯定有效。检查您是否正确引用了jquery javascript?@Mal-OP的问题是HTML被注入DOM,因此在注入元素之前调用hide()
,因此当时不存在。@Aesthete不确定是否可行,请检查“小部件代码”@Aesthete ah!好的,很抱歉我没有注意到这一点。@teslasimus-元素在iFrame中,您无权访问它。只需在CSS中设置它,您似乎需要它!覆盖样式->很重要,但是如何使用jquery实现它?我想根据分辨率来显示它。@teslasimus-你真的不能,但你可以使用CSS媒体查询使其与分辨率相关,这是正确的方法,因为你不需要jQuery来实现这一点。@teslasimus-元素在iFrame中,你无权访问它。只需在CSS中设置它,您似乎需要它!覆盖样式->很重要,但是如何使用jquery实现它?我想根据分辨率来显示它。@teslasimus-你真的不能,但是你可以使用CSS媒体查询使它依赖于分辨率,这是正确的方法,因为你不需要jQuery来实现这一点。