将样式从内联移动到头部破坏了用于显示borderColor的简单javascript
Moving style from inline to head breaks simple javascript made to show borderColor
开始学习web开发,偶然发现一些简单的东西,我在过去的一个小时里一直在打破我的头。用alert
显示div
元素的边框颜色是很简单的代码。它的工作原理。但是当我将样式从内联移动到style
元素时,它什么也不返回。
function myFunction() {
alert(document.getElementById("myDiv").style.borderColor);
}
<div id="myDiv" style="border:thick solid green">This is a div.</div>
<br>
<button type="button" onclick="myFunction()">Return border color</button>
非工作代码:
function myFunction() {
alert(document.getElementById("myDiv").style.borderColor);
}
<style>
#myDiv {
border: thick solid green;
}
</style>
<div id="myDiv">This is a div.</div>
<br>
<button type="button" onclick="myFunction()">Return border color</button>
我唯一改变的是将样式属性从div标签移动到头部。为什么它停止工作,我如何解决它?
style
属性仅为您提供内联样式。要获得computed样式,您可以在基于标准的浏览器上使用getComputedStyle
(一个全局函数),或者在旧的IE上使用currentStyle
(一个元素属性):
function myFunction() {
var div = document.getElementById("myDiv");
var style = window.getComputedStyle ? getComputedStyle(div) : div.currentStyle;
alert(style.borderColor);
}
<style>
#myDiv {
border: thick solid green;
}
</style>
<div id="myDiv">This is a div.</div>
<br>
<button type="button" onclick="myFunction()">Return border color</button>
使用element.style
读取元素的style属性。在第二个示例中,您删除了该属性,这就是它停止工作的原因。
要获得应用于元素的实际样式,您需要使用windows . getcomputedstyle()。使用这个的例子:
var elem = document.getElementById("myDiv");
var styles = window.getComputedStyle(elem);
alert(styles.borderColor);
相关文章:
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- AJAX,用于显示数据库数据
- Javascript中的列表,用于添加和显示所有项目
- JavaScript代码,用于在浏览器中显示字节数组中的PDF文件(非base64编码)
- 显示用于网站打印的PDF
- 用于显示onclick事件计数的可调整跨度标记
- Javascript非常简单:'阅读更多''显示较少'应用于Wordpress的功能
- 使用Jquery.click显示/隐藏切换,适用于新用户,但不适用于种子
- 向下滚动时隐藏菜单,向上滚动时显示,适用于Chrome,不适用于Safari(手机)
- 用于突出显示文本的JQuery/JavaScript插件
- 用于显示索引视图 Rails 中的页面的下拉链接
- 用于显示服务器端验证结果的 Jqgrid 编辑事件
- 用于显示所选选项的按钮
- 组合用于隐藏或显示内容的方法
- 仅当显示可见时,jquery/javascript或css-css用于第n个子级
- 在表单提交后显示模态,直到加载下一页为止..不适用于狩猎
- 用于显示/隐藏页面的Adobe LiveCycle按钮
- 用于显示和隐藏大量数据的minimy Javascript代码
- javascript:window.print() 不显示用于打印的条形码
- 主干形式:如何在颜色框对话框上显示用于列表项编辑的jquery对话框