Apa gunanya menggunakan sintaks ini
div.card > div.name
Apa bedanya ini
div.card div.name
Apa gunanya menggunakan sintaks ini
div.card > div.name
Apa bedanya ini
div.card div.name
Jawaban:
A > B
hanya akan memilih B yang merupakan anak-anak langsung ke A (yaitu, tidak ada elemen lain di antara).
A B
akan memilih B yang ada di dalam A, bahkan jika ada elemen lain di antara mereka.
>
adalah pemilih anak. Ini menetapkan hanya elemen anak langsung dan bukan keturunan apa pun (termasuk cucu, cucu, dll.) Seperti pada contoh kedua tanpa >
.
Selector anak tidak didukung oleh IE 6 dan lebih rendah. Tabel kompatibilitas yang bagus ada di sini .
div.card > div.name
cocok <div class='card'>....<div class='name'>xxx</div>...</div>
tetapi tidak cocok<div class='card'>....<div class='foo'> ... <div class='name'>xxx</div>..</div>....</div>
div.card div.name
cocok dengan keduanya.
Yaitu, >
pemilih memastikan bahwa elemen yang dipilih di sisi kanan >
adalah anak immidiate dari elemen di sisi kirinya.
Sintaksis tanpa >
cocok dengan apa pun <div class='name'>
yang merupakan keturunan (bukan hanya anak) dari <div class='card'>
.
A> B memilih B jika itu adalah anak-anak langsung dari A, sedangkan AB memilih B apakah itu adalah anak-anak langsung dari B atau tidak.
<p> USING SPACE </p>
<style>
.a .b {
background-color: red;
}
</style>
<span class="a">
a
<br>
<span class="b"> a b</span>
<br>
<span class="c">
<span class="b"> a b c</span>
</span>
</span>
<br><br>
<p> USING GREATER THAN SIGN</p>
<style>
.x > .y {
background-color: red;
}
</style>
<span class="x">
x
<br>
<span class="y"> x y</span>
<br>
<span class="z">
<span class="y"> x y z</span>
</span>
</span>
Pertimbangkan dua skenario div > span { }
vs.div span { }
Di sini, <space>
memilih semua semua <span>
elemen <div>
elemen bahkan jika mereka berada di dalam elemen lain. >> Memilih semua anak <div>
elemen tetapi jika mereka berada di dalam elemen lain.
div > span {
color: #FFBA00 ;
}
<body>
<div>
<p>
<span>Hello,</span>
</p>
<span>World!</span>
</div>
</body>
Yang ini hanya memilih <span>World!</span>
dan tidak akan mencari tag <span>
di dalamnya <p>
.
div span {
color: #FFBA00 ;
}
<body>
<div>
<p>
<span>Hello,</span>
</p>
<span>World!</span>
</div>
<body>
Yang ini memilih semua tag rentang, bahkan jika mereka bersarang di dalam tag lain.