我正在尝试获取已在不同CSS文件上编写的元素背景样式。 问题是我无法获得用CSS文件编写的样式。
另一方面,可以获得已经写在HTML文档上的样式。
#try2
{
background-color:yellow;
}
body
{
background-color:gray;
}
td, th{
border: 1px solid black;
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />
<link rel="stylesheet" type="text/css" href="html.css">
<script type="text/javascript" src="external.js"></script>
</head>
<body>
<table>
<tr>
<td id = "try1" style="background-color:green;"><p id="ChosenColor3"> htmlfile</p></td>
</tr>
<tr>
<td id = "try2"><p id="ChosenColor4"> css file</p></td>
<td><button id="bestRated3" onclick = arrayTest()> ב.מ </button></td>
<td><button id="submitForm" onclick = submit()> end</button></td>
</tr>
<tr>
<td><h1 id="ChosenColor5"> text </h1></td>
</tr>
</table>
</body>
<script>
window.onload=aaa();
function aaa()
{
var x = document.getElementById("try2");
alert(x.style.background);
}
</script>
</html>
如您所见,我得到的消息是空的。如果我将ID更改为“try1
”,则会显示。
答案 0 :(得分:7)
style
属性允许您读取和写入每个元素的style
HTML属性的值(所谓的内联样式) - 它不会将样式表带入帐户。
要发现CSS属性的真实值,您必须改为使用window.getComputedStyle
,例如:
alert(getComputedStyle(x, null).getPropertyValue("background-color"));
<强> See it in action 强>
请注意,IE 8或更早版本不支持getComputedStyle
。
答案 1 :(得分:1)
将提醒更改为alert(x.style.backgroundColor);
style.background
和style.backgroundColor
是两回事。
答案 2 :(得分:1)
试试这个
function aaa()
{
var a = document.getElementById("try2").style.backgroundcolor;
alert("Your background color is :"+a);
}
答案 3 :(得分:0)
请改用:
alert(x.style.backgroundColor);
答案 4 :(得分:0)