Posting ini secara otomatis ditandai sebagai kualitas rendah karena sangat pendek / hanya kode. Maukah Anda memperluasnya dengan menambahkan beberapa teks untuk menjelaskan bagaimana menyelesaikan masalah?
Gong - Kembalikan Monica
2
Ini sebenarnya tidak menyelesaikan masalah. OP ingin mendapatkan nilai nama; ini mengasumsikan Anda sudah mengetahuinya.
felwithe
16
Meskipun tidak dapat disangkal bahwa jQuery adalah alat yang ampuh, adalah ide yang sangat buruk untuk menggunakannya untuk operasi sepele seperti "dapatkan nilai atribut elemen".
Menilai dari jawaban yang diterima saat ini, saya akan berasumsi bahwa Anda dapat menambahkan atribut ID ke elemen Anda dan menggunakannya untuk memilihnya.
Dengan mengingat hal itu, berikut adalah dua potong kode. Pertama, kode yang diberikan kepada Anda dalam Jawaban yang Diterima:
Anda dapat menguji sendiri di sini . The "polos JavaScript" vesion lebih dari 35 kali lebih cepat daripada versi jQuery.
Sekarang, itu hanya untuk satu operasi, seiring waktu Anda akan memiliki lebih banyak hal yang terjadi dalam kode Anda. Mungkin untuk sesuatu yang sangat canggih, solusi "murni JavaScript" yang optimal akan membutuhkan satu detik untuk berjalan. Versi jQuery mungkin membutuhkan waktu 30 detik hingga satu menit penuh! Itu luar biasa! Orang tidak akan duduk untuk itu. Bahkan peramban akan bosan dan menawarkan Anda opsi untuk mematikan laman web karena terlalu lama!
Seperti yang saya katakan, jQuery adalah alat yang ampuh, tetapi seharusnya tidak dianggap sebagai jawaban untuk semuanya .
jawaban yang bagus, saya memeriksa silang sehingga javascript lebih cepat dari jquery bukan?
Rijo
Anda menjawab pertanyaan ini 4 tahun setelah pertanyaan diajukan dan Anda tidak menjawab pertanyaan itu. Orang itu bertanya bagaimana melakukannya di jQuery. Terserah programmer apakah akan menggunakan jQuery atau Vanilla JS dan berada di luar ruang lingkup pertanyaan
Zachary Weixelbaum
Vanilla JS! ?? bercanda, saya menghabiskan setengah jam untuk meneliti apa hack Vanilla JS itu.
Basheer AL-MOMANI
Mungkin pengembang tidak tahu. Saya menyadari fakta bahwa framework seperti jQuery menyebabkan beberapa overhead. Tapi saya tidak berharap memperlambat tugas-tugas sederhana seperti itu di faktor 35 saat menggunakan jQuery ...
Daniel
7
Anda harus menulis pemilih yang memilih yang benar <input>terlebih dahulu. Idealnya Anda menggunakan ID elemen $('#element_id'), gagal bahwa ID wadah itu $('#container_id input'), atau kelas elemen$('input.class_name') .
Elemen Anda tidak memiliki semua ini dan tidak ada konteks, jadi sulit untuk memberitahu Anda bagaimana memilihnya.
Setelah Anda menemukan pemilih yang tepat, Anda akan menggunakan metode attr untuk mengakses atribut elemen. Untuk mendapatkan nama, Anda akan menggunakan $(selector).attr('name')yang akan kembali (dalam contoh Anda) 'xxxxx'.
Cara yang lebih baik bisa menggunakan 'ini', dibutuhkan apa pun nama 'id' itu dan menggunakannya. Selama Anda menambahkan nama kelas yang disebut 'mytarget'.
Setiap kali ada bidang yang memiliki target berubah maka itu akan menampilkan kotak peringatan dengan nama bidang itu. Cukup potong dan lewati seluruh skrip agar berfungsi!
Jika Anda berurusan dengan satu elemen, sebaiknya Anda menggunakan idpemilih seperti yang dinyatakan pada jawaban GenericTypeTea dan dapatkan nama seperti$("#id").attr("name"); .
Tetapi jika Anda ingin, seperti yang saya lakukan ketika saya menemukan pertanyaan ini, daftar dengan semua nama input dari kelas tertentu (dalam contoh saya daftar dengan nama-nama semua kotak centang yang tidak dicentang dengan .selectable-checkboxkelas) Anda dapat melakukan sesuatu seperti:
var listOfUnchecked = $('.selectable-checkbox:unchecked').toArray().map(x=>x.name);
atau
var listOfUnchecked =[];
$('.selectable-checkbox:unchecked').each(function(){
listOfUnchecked.push($(this).attr('name'));});
Untuk baris di bawah ini, Awalnya menghadapi masalah dengan tidak memberikan kode tunggal bahwa 'currnetRowAppName'value tidak mengambil ruang dengan string. Jadi, setelah itu berikan kode tunggal'"+row.applicationName+"' , itu mengambil ruang juga.
Contoh:
<buttonclass='btn btn-primary btn-xs appDelete'type='button'currnetRowAppName='"+row.applicationName+"'id="+row.id+ >
var viewAppNAME = $(this).attr("currnetRowAppName");
alert(viewAppNAME)
Meskipun tidak dapat disangkal bahwa jQuery adalah alat yang ampuh, adalah ide yang sangat buruk untuk menggunakannya untuk operasi sepele seperti "dapatkan nilai atribut elemen".
Menilai dari jawaban yang diterima saat ini, saya akan berasumsi bahwa Anda dapat menambahkan atribut ID ke elemen Anda dan menggunakannya untuk memilihnya.
Dengan mengingat hal itu, berikut adalah dua potong kode. Pertama, kode yang diberikan kepada Anda dalam Jawaban yang Diterima:
Dan kedua, versi Vanilla JS :
Hasil saya:
Anda dapat menguji sendiri di sini . The "polos JavaScript" vesion lebih dari 35 kali lebih cepat daripada versi jQuery.
Sekarang, itu hanya untuk satu operasi, seiring waktu Anda akan memiliki lebih banyak hal yang terjadi dalam kode Anda. Mungkin untuk sesuatu yang sangat canggih, solusi "murni JavaScript" yang optimal akan membutuhkan satu detik untuk berjalan. Versi jQuery mungkin membutuhkan waktu 30 detik hingga satu menit penuh! Itu luar biasa! Orang tidak akan duduk untuk itu. Bahkan peramban akan bosan dan menawarkan Anda opsi untuk mematikan laman web karena terlalu lama!
Seperti yang saya katakan, jQuery adalah alat yang ampuh, tetapi seharusnya tidak dianggap sebagai jawaban untuk semuanya .
sumber
Anda harus menulis pemilih yang memilih yang benar
<input>
terlebih dahulu. Idealnya Anda menggunakan ID elemen$('#element_id')
, gagal bahwa ID wadah itu$('#container_id input')
, atau kelas elemen$('input.class_name')
.Elemen Anda tidak memiliki semua ini dan tidak ada konteks, jadi sulit untuk memberitahu Anda bagaimana memilihnya.
Setelah Anda menemukan pemilih yang tepat, Anda akan menggunakan metode attr untuk mengakses atribut elemen. Untuk mendapatkan nama, Anda akan menggunakan
$(selector).attr('name')
yang akan kembali (dalam contoh Anda)'xxxxx'
.sumber
Cara yang lebih baik bisa menggunakan 'ini', dibutuhkan apa pun nama 'id' itu dan menggunakannya. Selama Anda menambahkan nama kelas yang disebut 'mytarget'.
Setiap kali ada bidang yang memiliki target berubah maka itu akan menampilkan kotak peringatan dengan nama bidang itu. Cukup potong dan lewati seluruh skrip agar berfungsi!
sumber
sumber
menggunakan nilai get input name
menggunakan id dapatkan nama input
menggunakan kelas dapatkan nama input
sumber
Jika Anda berurusan dengan satu elemen, sebaiknya Anda menggunakan
id
pemilih seperti yang dinyatakan pada jawaban GenericTypeTea dan dapatkan nama seperti$("#id").attr("name");
.Tetapi jika Anda ingin, seperti yang saya lakukan ketika saya menemukan pertanyaan ini, daftar dengan semua nama input dari kelas tertentu (dalam contoh saya daftar dengan nama-nama semua kotak centang yang tidak dicentang dengan
.selectable-checkbox
kelas) Anda dapat melakukan sesuatu seperti:atau
sumber
Lulus kelas untuk memasukkan tag dan mengakses nilai nama dengan menggunakan kelas.
Atau Anda juga dapat mengakses nilai menggunakan id.
sumber
Untuk baris di bawah ini, Awalnya menghadapi masalah dengan tidak memberikan kode tunggal bahwa 'currnetRowAppName'value tidak mengambil ruang dengan string. Jadi, setelah itu berikan kode tunggal
'"+row.applicationName+"'
, itu mengambil ruang juga.Contoh:
Ini bekerja dengan baik.
sumber