J.J*_*Joe 5 html javascript css
可能是一个重复的问题但无法找到答案.
element.style.display不是浏览器中呈现的内容.
它不返回实际值(即块或内联等),而是返回空.在Chrome 56.0.2924.87(64位)中测试过.
如何获得实际渲染值?
function displayStyle(aEvent) {
aEvent.target.textContent=aEvent.target.style.display;
}
window.onload = function() {
var top_array = document.getElementsByClassName("top");
for(var i = 0; i < top_array.length; i++)
{
top_array[i].addEventListener("click", displayStyle, false);
}
}Run Code Online (Sandbox Code Playgroud)
.top{
background-color:#FFF8DC;
}Run Code Online (Sandbox Code Playgroud)
<div class="top">top (click it and it will disappear because its style.display is empty)</div>Run Code Online (Sandbox Code Playgroud)
CSS样式不可用于JavaScript,除非它们以前是在JavaScript中设置的,或者它们已被硬编码为内联样式.
改为使用getComputedStyle():
function displayStyle(aEvent) {
var target = aEvent.target;
target.textContent = window.getComputedStyle(target).getPropertyValue('display');
}
window.onload = function() {
var top_array = document.getElementsByClassName("top");
for (var i = 0; i < top_array.length; i++) {
top_array[i].addEventListener("click", displayStyle, false);
}
}Run Code Online (Sandbox Code Playgroud)
.top {
background-color: #FFF8DC;
}Run Code Online (Sandbox Code Playgroud)
<div class="top">top (click it and it will now show "block" since we're getting its computed style.)</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |