JS 添加内联 css 到 html
JS add in-line css to html
我在这里遇到了问题:
我在结果页面中有一个隐藏的 div 和一些可选过滤器。
<div id='b-filters' class='row'>...</div>
最初它是用 display: none;
隐藏的,当单击 link 时它会显示一些按钮并选择组合。
问题出在这里:
当div出现时,一些JS,我不知道如何找出哪个;添加一些内联 css:
<div id='b-filters' class='row' style='overflow: hidden; display: block;'>...</div>
因此无法看到连击选项。使用 Chrome 调试器,我将 overflow: hidden
更改为 overflow: visible
,它可以正常工作。
我试过:
在我的外部 css 文件中 (app.css)
#b-filters{
...
overflow: visible;
...
}
但不起作用,在同一个 html 文件中:
<head>
...
<style>
div#b-filters{
overflow: visible;
}
</style>
</head>
...
但是 Chrome 检查器总是显示 overflow: visible;
被划掉。
有什么想法吗?谢谢。
编辑
我接受了@Stephen Thomas 的回答,但我希望有人能帮我找出是哪个 JS 在线添加的 css。
没有看到实际的 JavaScript,我唯一能提供的建议是
div#b-filters{
overflow: visible !important;
}
但如果您向我们展示您的代码,可能会有更优雅的方式。
var problematicDiv = document.getElementById('b-filters');
if(problematicDiv.hasAttribute('style'))
{
problematicDiv.removeAttribute('style');
problematicDiv.style.display = 'block';
problematicDiv.style.overflow = 'visible';
}
这个 'pseudo' js 代码应该作为事件监听器工作。虽然还没有测试,但我认为没问题。
与其将内联 CSS 直接添加到元素,为什么不将 CSS 属性抽象为广义 类,然后只 add/remove 那些 类 ?!
// style.css
.hide {
display: none;
}
// view.html
<div id="b-filters" class="row hide">...</div>
// app.js
btn.addEventListener('click', function(event){
var el = document.querySelector('#b-filters');
el.classList.remove('hide');
});
我在这里遇到了问题:
我在结果页面中有一个隐藏的 div 和一些可选过滤器。
<div id='b-filters' class='row'>...</div>
最初它是用 display: none;
隐藏的,当单击 link 时它会显示一些按钮并选择组合。
问题出在这里:
当div出现时,一些JS,我不知道如何找出哪个;添加一些内联 css:
<div id='b-filters' class='row' style='overflow: hidden; display: block;'>...</div>
因此无法看到连击选项。使用 Chrome 调试器,我将 overflow: hidden
更改为 overflow: visible
,它可以正常工作。
我试过:
在我的外部 css 文件中 (app.css)
#b-filters{
...
overflow: visible;
...
}
但不起作用,在同一个 html 文件中:
<head>
...
<style>
div#b-filters{
overflow: visible;
}
</style>
</head>
...
但是 Chrome 检查器总是显示 overflow: visible;
被划掉。
有什么想法吗?谢谢。
编辑
我接受了@Stephen Thomas 的回答,但我希望有人能帮我找出是哪个 JS 在线添加的 css。
没有看到实际的 JavaScript,我唯一能提供的建议是
div#b-filters{
overflow: visible !important;
}
但如果您向我们展示您的代码,可能会有更优雅的方式。
var problematicDiv = document.getElementById('b-filters');
if(problematicDiv.hasAttribute('style'))
{
problematicDiv.removeAttribute('style');
problematicDiv.style.display = 'block';
problematicDiv.style.overflow = 'visible';
}
这个 'pseudo' js 代码应该作为事件监听器工作。虽然还没有测试,但我认为没问题。
与其将内联 CSS 直接添加到元素,为什么不将 CSS 属性抽象为广义 类,然后只 add/remove 那些 类 ?!
// style.css
.hide {
display: none;
}
// view.html
<div id="b-filters" class="row hide">...</div>
// app.js
btn.addEventListener('click', function(event){
var el = document.querySelector('#b-filters');
el.classList.remove('hide');
});