Yanıtlar:
var value_input = $("input[name*='xxxx']").val();
JQuery'nin güçlü bir araç olduğunu inkar etmek mümkün olmasa da, onu "bir öğenin öznitelik değerini alma" gibi önemsiz bir işlem için kullanmak gerçekten kötü bir fikirdir.
Kabul edilen mevcut cevaba bakılırsa, öğenize bir kimlik özelliği ekleyebileceğinizi ve onu seçmek için bunu kullanabileceğinizi varsayacağım.
Bunu akılda tutarak, işte iki kod parçası. Öncelikle Kabul Edilen Cevapta size verilen kod:
$("#ID").attr("name");
İkincisi, Vanilla JS versiyonu:
document.getElementById('ID').getAttribute("name");
Benim sonuçlarım:
Burada kendiniz test edebilirsiniz . "Düz JavaScript" sürümü, jQuery sürümünden 35 kat daha hızlıdır .
Şimdi, bu sadece bir işlem için, zamanla kodunuzda daha fazla şey olacak. Belki de özellikle gelişmiş bir şey için, en uygun "saf JavaScript" çözümünün çalışması bir saniye sürer. JQuery sürümü 30 saniyeden bir dakikaya kadar sürebilir! Bu çok büyük! İnsanlar bunun için ortalıkta oturmayacak. Tarayıcı bile sıkılacak ve size çok uzun sürdüğü için web sayfasını kapatma seçeneği sunacak!
Dediğim gibi, jQuery güçlü bir araçtır, ancak gerektiği değil düşünülmelidir her şeye cevap .
Önce doğruyu seçen bir seçici yazmanız gerekir <input>. İdeal olarak, elemanın $('#element_id')ID'sini kullanırsınız, bunun yerine konteynerin ID'sini $('#container_id input')veya elementin sınıfını kullanamazsınız $('input.class_name').
Öğenizde bunların hiçbiri ve bağlamı yok, bu yüzden size nasıl seçeceğinizi söylemek zor.
Doğru seçiciyi bulduğunuzda , öğenin özelliklerine erişmek için attr yöntemini kullanırsınız. Adı almak için, $(selector).attr('name')döneceğini (örneğinizde) kullanırsınız 'xxxxx'.
Daha iyi bir yol 'bu' kullanmak olabilir, 'id'nin adı ne olursa olsun alır ve onu kullanır. Hedefim adlı sınıf adını eklediğiniz sürece.
Hedefin değiştiği alanlardan herhangi biri, o alanın adını içeren bir uyarı kutusu gösterecektir. Çalışması için tüm komut dosyasını kesin ve yapıştırın!
<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 />
değer kullanarak giriş adı al
$('input[value="1"]').attr('name');
id kullanarak giriş adı al
$('input[class="id"]').attr('name');
$('#id').attr('name');
sınıf kullanarak giriş adı al
$('input[value="classname"]').attr('name');
$('.classname').attr('name'); //if classname have unique value
Tek bir öğeyle uğraşıyorsanız, tercihen idseçiciyi GenericTypeTea cevabında belirtildiği gibi kullanmalı ve adını almalısınız $("#id").attr("name");.
Ama isterseniz, bu soruyu bulduğumda yaptığım gibi, belirli bir sınıfın tüm giriş adlarını içeren bir liste (benim örneğimde, .selectable-checkboxsınıfla birlikte tüm işaretlenmemiş onay kutularının adlarını içeren bir liste ) şöyle bir şey yapabilirsiniz:
var listOfUnchecked = $('.selectable-checkbox:unchecked').toArray().map(x=>x.name);
veya
var listOfUnchecked = [];
$('.selectable-checkbox:unchecked').each(function () {
listOfUnchecked.push($(this).attr('name'));
});
Sınıfı giriş etiketine geçirin ve sınıf kullanarak ad değerine erişin.
<input class="test-class" name='xxxxx' value=1>
<script>
$('.test-class').attr('name');
</script>
Ya da değere id kullanarak da erişebilirsiniz.
<input id="test-id" name='xxxxx' value=1>
<script>
$('#test-id').attr('name');
</script>
Aşağıdaki satır için, başlangıçta 'currnetRowAppName' değerinin string ile yer kaplamadığına dair tek bir kod verilmemesi sorunu ile karşılaşıldı. Yani bundan sonra tek bir kod vererek '"+row.applicationName+"'yer kaplıyor.
Misal:
<button class='btn btn-primary btn-xs appDelete' type='button' currnetRowAppName='"+row.applicationName+"' id="+row.id+ >
var viewAppNAME = $(this).attr("currnetRowAppName");
alert(viewAppNAME)
Bu iyi çalışıyor.