Javascript 尝试重写动态生成的内联样式
我正在尝试快速修复wordpress网站上出现的问题。问题是汤沙是别人做的,我一直在修。我有一个元素显示在页面的两个不同部分中。第一个是post状态表单,第二次出现在页面上无限期重复的评论添加部分。代码块对注释有效,但对状态表单无效,因此我不想简单地隐藏它,直到我弄清楚如何A)找到生成代码的地方,B)修复问题 该元素有一个在加载该元素时动态应用(假设为javascript)的样式。它从隐藏开始,然后管道下面的某个地方显示出来 下面是我的代码,首先是有效的元素:Javascript 尝试重写动态生成的内联样式,javascript,html,css,styles,Javascript,Html,Css,Styles,我正在尝试快速修复wordpress网站上出现的问题。问题是汤沙是别人做的,我一直在修。我有一个元素显示在页面的两个不同部分中。第一个是post状态表单,第二次出现在页面上无限期重复的评论添加部分。代码块对注释有效,但对状态表单无效,因此我不想简单地隐藏它,直到我弄清楚如何A)找到生成代码的地方,B)修复问题 该元素有一个在加载该元素时动态应用(假设为javascript)的样式。它从隐藏开始,然后管道下面的某个地方显示出来 下面是我的代码,首先是有效的元素: <div class="ac
<div class="activity-comments">
<div class="audio_controls fresh" style>
....
</div>
</div>
....
断开的块:
<div id="whats-new-post-in-box">
<div class="audio_controls fresh" style="display: block;">
...
</div>
<div>
...
因此,在第一个块中,代码中没有样式,出于某种奇怪的原因,无论是谁编写了它,都没有应用任何样式(完全愚蠢且格式错误的代码)。但是在第二个元素中,也就是断开的元素中,有一个display:block在运行时动态写入。我试图找出如何强制它显示:无。我尝试过js,但不知怎么的,我没有正确地调用它(不确定如何调用嵌套元素,我只想要嵌套ID中的audio_控件,而不想要其他类)
有人对我有什么想法吗?你可以使用CSS:
#whats-new-post-in-box > .audio_controls.fresh {
display: none !important;
}
一个!重要信息
样式规则可以覆盖内联样式规则(除非内联样式规则也是!重要信息
)
或者,在启用JavaScript的情况下:
显然,对于这两个JS解决方案,您需要在设置样式之后运行代码…您可以使用CSS:
#whats-new-post-in-box > .audio_controls.fresh {
display: none !important;
}
一个!重要信息
样式规则可以覆盖内联样式规则(除非内联样式规则也是!重要信息
)
或者,在启用JavaScript的情况下:
显然,对于这两个JS解决方案,您需要先运行设置样式的代码…非常确定您可以为
#What's new post in box
.audio\u控制
并用标记它!重要信息
非常确定您可以为#What's new post in box
编写CSS规则。音频控制
并用标记它!重要信息
隐藏内部div的另一种方法,这需要jQuery:
$('div.audio_controls', $('#whats-new-post-in-box')).hide();
此代码选择id为
whats new post in box
的元素内所有具有audio\u控件的div元素,并将其隐藏。隐藏内部div的另一种方法,这需要jQuery:
$('div.audio_controls', $('#whats-new-post-in-box')).hide();
此代码选择id为whats new post-in-box
的元素内具有audio\u控件的所有div元素,并将其隐藏。document.getElementById('whats-new-post-in-box')。children.removeAttribute('style')
,如果您不想使用转到CSS方向!重要信息
。如果您试图只隐藏前面的所有注释,我会这样做#框中有什么新帖子。音频控件{display:none!important}然后按照这个,框中有什么新帖子。音频控件:第一个子控件{display:block!important}。这样,只有第一条评论才会显示出来。这可能会有所帮助。此外,检查注释框中的注释是否正确关闭,并将_仅设置为1。我会在wordpressoverflow上发布这个问题,他们可能会帮助您解决这个问题。@plantheidea:我希望您会发现NodeList
s/HTMLCollection
s没有removeAttribute
方法。啊,很抱歉,忘记了标识符:document.getElementById('whats-new-post-in-box')。children[0].removeAttribute('style')
document.getElementById('whats-new-post-in-box')。children.removeAttribute('style')
,如果您不想使用转到CSS方向!重要信息
。如果您试图只隐藏前面的所有注释,我会这样做#框中有什么新帖子。音频控件{display:none!important}然后按照这个,框中有什么新帖子。音频控件:第一个子控件{display:block!important}。这样,只有第一条评论才会显示出来。这可能会有所帮助。此外,检查注释框中的注释是否正确关闭,并将_仅设置为1。我会在wordpressoverflow上发布这个问题,他们可能会帮助您解决这个问题。@plantheidea:我希望您会发现NodeList
s/HTMLCollection
s没有removeAttribute
方法。啊,很抱歉,忘记了标识符:document.getElementById('whats-new-post-in-box')。children[0].removeAttribute('style')
CSS工作得很好,直到我在IE中测试,在IE中它不工作。当我使用wordpress网站时,我发现自己使用的是!重要信息
越来越多。。。这很有帮助,但有一点让我感到害怕。事实上,我找到了它不起作用的原因,我找到了一个“海关”样式表,并把它扔了进去。很好的提示,谢谢!顺便说一句,我讨厌wordpress。CSS工作得很好,直到我在IE中测试,在IE中它不工作。当我使用wordpress网站时,我发现自己在使用!重要信息
越来越多。。。这很有帮助,但有一点让我感到害怕。事实上,我找到了它不起作用的原因,我找到了一个“海关”样式表,并把它扔了进去。很好的提示,谢谢!顺便说一句,我讨厌wordpress。