parentRule 屬性

admin發表於2018-08-18

返回包含當前規則或者宣告塊的規則。

例如,當前規則包含在一個@media程式碼塊之中。

如果當前規則是頂層規則,則該屬性返回null。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
let rule = styles.parentRule;

瀏覽器支援:

(1).IE瀏覽器支援此方法。

(2).edge瀏覽器支援此方法。

(3).谷歌瀏覽器支援此方法。

(4).火狐瀏覽器支援此方法。

(5).opera瀏覽器支援此方法。

(6).safria瀏覽器支援此方法。

程式碼例項:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
#ant {
  width:100px;
  height:100px;
  text-align:center;
}
@media screen and (max-width: 300px) {
  div {
    background-color:lightblue;
    color:red;
  }
}
</style>
<script>
window.onload = function () {
  let odiv = document.getElementById("ant");
  let mediaCSSStyleRule = document.styleSheets[0].cssRules[1].cssRules[0]
  console.log(mediaCSSStyleRule.style.parentRule);
}
</script>
</head>
<body>
<div id="ant"></div>
</body>
</html>

mediaCSSStyleRule是表示如下CSS規則的物件:

[CSS] 純文字檢視 複製程式碼
div {
  background-color:lightblue;
}

mediaCSSStyleRule.style表示大括號中的CSS宣告程式碼塊:

[CSS] 純文字檢視 複製程式碼
background-color:lightblue;
color:red;

mediaCSSStyleRule.style.parentRule返回的是包含上述程式碼塊的CSS規則,也就是mediaCSSStyleRule物件本身,控制檯截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/28/204133lkuurr6kavvu6bab.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

將程式碼稍作修改:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
#ant {
  width:100px;
  height:100px;
  text-align:center;
}
@media screen and (max-width: 300px) {
  div {
    background-color:lightblue;
    color:red;
  }
}
</style>
<script>
window.onload = function () {
  let odiv = document.getElementById("ant");
  let mediaCSSStyleRule = document.styleSheets[0].cssRules[1].cssRules[0]
  console.log(mediaCSSStyleRule.parentRule);
}
</script>
</head>
<body>
<div id="ant"></div>
</body>
</html>

上面程式碼去掉了style,返回值就是包含div {background-color:lightblue;color:red; }規則的父規則,總結如下:

如果style呼叫,那麼就返回包含宣告塊的規則,如果是一個規則物件呼叫,那麼返回值是包含此規則的規則。