Saya ingin mengubah kelas dari tag td mengingat id tag td:
<td id="td_id" class="change_me"> ...
Saya ingin dapat melakukan ini sementara di dalam acara klik dari beberapa objek dom lainnya. Bagaimana cara meraih id td dan mengubah kelasnya?
Anda dapat mengatur kelas (terlepas dari apa itu ) dengan menggunakan .attr()
, seperti ini:
$("#td_id").attr('class', 'newClass');
Jika Anda ingin menambahkan kelas, gunakan .addclass()
, seperti ini:
$("#td_id").addClass('newClass');
Atau cara singkat untuk bertukar kelas menggunakan .toggleClass()
:
$("#td_id").toggleClass('change_me newClass');
Berikut daftar lengkap metode jQuery khusus untuk class
atribut .
var $td = $(this).parents('td:first')
] lalu dapatkan idnya [var id = $td.attr('id');
] dan juga kelas [var class = $td.attr('class');
] karena ia ingin elemen klik di dalam TD untuk memicunya.closest('td')
bukan.parents('td:first')
:)I want to be able to do this while inside the click event of some other dom object. How do I grab the td's id and change its class?
- mungkin aku salah membaca, mungkin dia bermaksud menggunakan id td untuk mengubah kelas ...<td>
dalam pertanyaan :)change_me
bagian ini opsional jika Anda menggunakantoggleClass()
Saya pikir Anda sedang mencari ini:
sumber
Saya pikir dia ingin mengganti nama kelas.
Sesuatu seperti ini akan berhasil:
dari http://monstertut.com/2012/06/use-jquery-to-change-css-class/
sumber
Anda dapat melakukan ini:
$("#td_id").removeClass('Old_class'); $("#td_id").addClass('New_class');
Atau Anda dapat melakukan inisumber
Anda dapat memeriksa addClass atau toggleClass
sumber
Jadi Anda ingin mengubahnya KETIKA itu diklik ... biarkan saya pergi melalui seluruh proses. Mari kita asumsikan bahwa "Objek DOM Eksternal" Anda adalah input, seperti pilih:
Mari kita mulai dengan HTML ini:
Beberapa CSS yang sangat mendasar:
Dan mengatur acara jQuery:
Sekarang, setiap kali Anda memilih sesuatu dari pilih, itu akan secara otomatis menemukan sel dengan teks yang cocok, memungkinkan Anda untuk menumbangkan seluruh proses berbasis id. Tentu saja, jika Anda ingin melakukannya dengan cara itu, Anda dapat dengan mudah memodifikasi skrip untuk menggunakan ID daripada nilai dengan mengatakan
dan pastikan untuk menambahkan id dengan tepat. Semoga ini membantu!
sumber
EDIT:
Jika Anda mengatakan bahwa Anda mengubahnya dari elemen bersarang , Anda tidak memerlukan ID sama sekali. Anda bisa melakukan ini sebagai gantinya:
Jawaban asli:
Pilihan lain adalah:
sumber
<td>
, meskipun dia mungkin, baca kembali dengan hati-hati :)Jika Anda sudah memiliki kelas dan perlu berganti-ganti antar kelas sebagai lawan untuk menambahkan kelas, Anda dapat membuat rantai acara sakelar:
sumber
sumber
metode ini bekerja dengan baik untuk saya
sumber
ganti kelas menggunakan jquery
coba ini
Anda juga dapat mengatur atribut apa pun menggunakan kueri ini
sumber
Saya lebih baik menggunakan .prop untuk mengubah className dan itu bekerja dengan sempurna:
untuk baris kode ini Anda hanya perlu mengubah nama newClass, dan tentu saja id elemen, dalam contoh berikut: idelementinyourpage
Ngomong-ngomong, ketika Anda ingin mencari gaya mana yang diterapkan pada elemen apa pun, Anda cukup mengklik F12 di browser Anda ketika halaman Anda ditampilkan, dan kemudian pilih di tab DOM Explorer, elemen yang ingin Anda lihat. Dalam Styles Anda sekarang dapat melihat gaya apa yang diterapkan pada elemen Anda dan dari kelas mana bacaannya.
sumber