javascript - obj.style.* hanya boleh mendapatkan gaya dalam teg, bukan? Kod di bawah berjalan tanpa ralat
学习ing
学习ing 2017-06-12 09:28:37
0
2
656

<!DOCTYPE html>
<html>
<kepala>
<gaya>
p { color:red; text-align:center;

    font-weight:bolder; width:300px; }

</style>
<script src="http://code.jquery.com/jquery...
</head>
<body>
<p>Klik di sini</p>
<p>untuk berulang melalui</p>
<p>ps ini</p>
<skrip>

$(document.body).click(function () {
  $( "p" ).each(function (i) {
    if ( this.style.color != "blue" ) {
      this.style.color = "blue";
    } else {
      this.style.color = "";
    }
  });
});

</skrip>

</body>
</html>

Nilai this.style.color dalam kod tak sepatutnya dapat kan? Kerana gaya dalam teg gaya tidak boleh diperoleh, tetapi program bertukar warna semasa operasi biasa, bolehkah anda jelaskan mengapa?

学习ing
学习ing

membalas semua(2)
给我你的怀抱
Sifat

HTMLElement.style mengembalikan objek CSSStyleDeclaration yang mewakili atribut gaya sebaris elemen, tetapi mengabaikan sebarang atribut yang digunakan helaian gaya. Untuk senarai sifat CSS yang boleh diakses melalui gaya, lihat Rujukan Sifat CSS.

...

Biasanya, untuk memahami maklumat gaya sesuatu elemen, ia tidak mencukupi untuk menggunakan atribut gaya sahaja Ini kerana ia hanya menyertakan atribut CSS yang diisytiharkan pada atribut gaya terbenam elemen itu, dan tidak termasuk gaya yang diisytiharkan daripada yang lain. tempat , seperti helaian gaya sebaris dalam bahagian <kepala> Untuk mendapatkan semua sifat CSS sesuatu elemen, anda harus menggunakan window.getComputedStyle().

https://developer.mozilla.org...

this.style.color ialah rentetan kosong dan memenuhi syarat berikut

this.style.color != "blue"

Jadi warna masih akan berubah apabila anda mengkliknya

Peter_Zhu

Dijalankan tanpa menggunakan objek DOMstyle设置的时候,this.style.color的值应该是空字符串:"",所以this.style.color != "blue"这个表达式的值应该是true.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan