Apakah mungkin untuk memilih elemen dalam CSS dengan atribut data HTML5 mereka (misalnya, data-role
)?
Apakah mungkin untuk memilih elemen dalam CSS dengan atribut data HTML5 mereka (misalnya, data-role
)?
Jawaban:
Jika Anda bermaksud menggunakan pemilih atribut , tentu saja, mengapa tidak:
[data-role="page"] {
/* Styles */
}
Ada berbagai penyeleksi atribut yang dapat Anda gunakan untuk berbagai skenario yang semuanya tercakup dalam dokumen yang saya tautkan. Perhatikan bahwa, meskipun atribut data khusus menjadi "fitur HTML5 baru",
browser biasanya tidak memiliki masalah yang mendukung atribut non-standar, jadi Anda harus dapat memfilternya dengan pemilih atribut; dan
Anda juga tidak perlu khawatir tentang validasi CSS, karena CSS tidak peduli dengan nama atribut yang tidak menggunakan namespace asalkan tidak melanggar sintaks pemilih.
$("#element").data("field","value");
tidak mengubah nilai atribut data itu hanya memodifikasi versi cache DOM jQuery. Untuk mengubah atribut DOM yang sebenarnya, seseorang perlu menggunakan $("#element").attr("data-field","value");
. Membuat komentar asli saya tidak valid.
Anda juga dapat memilih atribut apa pun kontennya, di peramban modern
dengan:
[data-my-attribute] {
/* Styles */
}
[anything] {
/* Styles */
}
Misalnya: http://codepen.io/jasonm23/pen/fADnu
Bekerja pada persentase browser yang sangat signifikan.
Catatan ini juga dapat digunakan dalam pemilih JQuery, atau menggunakan document.querySelector
^=
, *=
dan $=
) juga didukung oleh IE7 dan IE8. Mungkin mereka diperkenalkan di IE sebelum distandarisasi.
Perlu dicatat pemilih pemilih substring CSS3
[attribute^=value] { /* starts with selector */
/* Styles */
}
[attribute$=value] { /* ends with selector */
/* Styles */
}
[attribute*=value] { /* contains selector */
/* Styles */
}
Anda dapat menggabungkan beberapa penyeleksi dan ini sangat keren mengetahui bahwa Anda dapat memilih setiap atribut dan atribut berdasarkan nilainya seperti href
berdasarkan pada nilainya dengan CSS saja ..
Selektor atribut memungkinkan Anda bermain-main dengan beberapa tambahan id
dan class
atribut
Berikut ini adalah bacaan yang mengagumkan tentang Atribut Selectors
a[href="http://aamirshahzad.net"][title="Aamir"] {
color: green;
text-decoration: none;
}
a[id*="google"] {
color: red;
}
a[class*="stack"] {
color: yellow;
}
<a href="http://aamirshahzad.net" title="Aamir">Aamir</a>
<br>
<a href="http://google.com" id="google-link" title="Google">Google</a>
<br>
<a href="http://stackoverflow.com" class="stack-link" title="stack">stack</a>
Dukungan browser:
IE6 +, Chrome, Firefox & Safari
Anda dapat memeriksa detailnya di sini .
[data-value] {
/* Attribute exists */
}
[data-value="foo"] {
/* Attribute has this exact value */
}
[data-value*="foo"] {
/* Attribute value contains this value somewhere in it */
}
[data-value~="foo"] {
/* Attribute has this value in a space-separated list somewhere */
}
[data-value^="foo"] {
/* Attribute value starts with this */
}
[data-value|="foo"] {
/* Attribute value starts with this in a dash-separated list */
}
[data-value$="foo"] {
/* Attribute value ends with this */
}