Jawaban:
var value_input = $("input[name*='xxxx']").val();
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:
$("#ID").attr("name");
Dan kedua, versi Vanilla JS :
document.getElementById('ID').getAttribute("name");
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 .
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!
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
$('.mytarget').change(function() {
var name1 = $(this).attr("name");
alert(name1);
});
});
</script>
Name: <input type="text" name="myname" id="myname" class="mytarget"><br />
Age: <input type="text" name="myage" id="myage" class="mytarget"><br />
menggunakan nilai get input name
$('input[value="1"]').attr('name');
menggunakan id dapatkan nama input
$('input[class="id"]').attr('name');
$('#id').attr('name');
menggunakan kelas dapatkan nama input
$('input[value="classname"]').attr('name');
$('.classname').attr('name'); //if classname have unique value
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'));
});
Lulus kelas untuk memasukkan tag dan mengakses nilai nama dengan menggunakan kelas.
<input class="test-class" name='xxxxx' value=1>
<script>
$('.test-class').attr('name');
</script>
Atau Anda juga dapat mengakses nilai menggunakan id.
<input id="test-id" name='xxxxx' value=1>
<script>
$('#test-id').attr('name');
</script>
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:
<button class='btn btn-primary btn-xs appDelete' type='button' currnetRowAppName='"+row.applicationName+"' id="+row.id+ >
var viewAppNAME = $(this).attr("currnetRowAppName");
alert(viewAppNAME)
Ini bekerja dengan baik.