2010-08-18 14 views
91

का विशेषता नाम मान प्राप्त करें jQuery का उपयोग कर इनपुट टैग का विशेषता नाम मान कैसे प्राप्त करें। कृपया मदद करे।<input>

<input name='xxxxx' value=1> 

उत्तर

192

अपने इनपुट एक आईडी दें और attr विधि का उपयोग करें:

var name = $("#id").attr("name"); 
28

उपयोग इस तरह jQuery के attr विधि:

alert($('input').attr('name')); 

ध्यान दें कि आप भी attr उपयोग कर सकते हैं स्थापित करने के लिए दूसरा तर्क निर्दिष्ट करके विशेषता मान:

$('input').attr('name', 'new_name') 
0
var theName; 

theName = $("input selector goes here").attr("name"); 
7

आप एक चयनकर्ता जो पहले सही <input> का चयन करता है लिखने के लिए की जरूरत है। आदर्श रूप में आप तत्व के आईडी $('#element_id') का उपयोग करते हैं, यह विफल रहता है कि इसके कंटेनर की आईडी $('#container_id input'), या तत्व की कक्षा $('input.class_name') है।

आपके तत्व में इनमें से कोई भी नहीं है और कोई संदर्भ नहीं है, इसलिए आपको यह चुनना मुश्किल है कि इसे कैसे चुनें।

एक बार जब आप उचित चयनकर्ता को समझ लेते हैं, तो आप तत्व के गुणों तक पहुंचने के लिए attr विधि का उपयोग करेंगे। नाम प्राप्त करने के लिए, आप $(selector).attr('name') का उपयोग करेंगे जो आपके (आपके उदाहरण में) 'xxxxx' लौटाएगा।

4

एक बेहतर तरीका 'इस' का उपयोग कर सकता है, यह 'आईडी' का नाम जो भी लेता है और इसका उपयोग करता है। जब तक आप 'mytarget' नामक क्लास नाम जोड़ते हैं।

जब भी कोई भी लक्ष्य लक्षित होता है तो वह उस फ़ील्ड के नाम से एक अलर्ट बॉक्स दिखाएगा। काम करने के लिए बस पूरी स्क्रिप्ट काट लें और पिछले!

<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 /> 
9
var value_input = $("input[name*='xxxx']").val(); 
+0

यह पोस्ट स्वचालित रूप से निम्न गुणवत्ता के रूप में फ़्लैग किया जा रहा है क्योंकि यह बहुत छोटा/केवल कोड है। क्या आप यह समझाने के लिए कुछ पाठ जोड़कर इसे विस्तारित करना चाहते हैं कि यह समस्या को हल कैसे करता है? – gung

+0

यह वास्तव में समस्या का समाधान नहीं करता है। ओपी नाम मूल्य प्राप्त करना चाहता है; यह मानता है कि आप इसे पहले ही जानते हैं। – felwithe

11

जबकि वहाँ कोई संदेह नहीं कि jQuery एक शक्तिशाली उपकरण है है, यह एक बहुत बुरा विचार के रूप में इस तरह के एक तुच्छ ऑपरेशन के लिए इसका इस्तेमाल करने की है "एक तत्व की विशेषता मान प्राप्त"।

वर्तमान स्वीकृत उत्तर के आधार पर, मुझे लगता है कि आप अपने तत्व में एक आईडी विशेषता जोड़ सकते हैं और इसका चयन करने के लिए इसका उपयोग कर सकते हैं।

इस बात को ध्यान में रखते हुए, यहां कोड के दो टुकड़े हैं। सबसे पहले, कोड में स्वीकार किए जाते हैं जवाब आप को दी:

$("#ID").attr("name"); 

और दूसरा, इसके बारे में Vanilla JS संस्करण:

document.getElementById('ID').getAttribute("name"); 

मेरे परिणाम:

  • jQuery: 300k संचालन/दूसरा
  • जावास्क्रिप्ट: 11,000k ऑपरेशंस/दूसरा

आप अपने लिए here परीक्षण कर सकते हैं।JQuery संस्करण की तुलना में "सादा जावास्क्रिप्ट" vesion 35 गुना तेज से अधिक है।

अब, यह केवल एक ऑपरेशन के लिए है, समय के साथ आपके कोड में अधिक से अधिक चीज़ें चल रही हैं। शायद विशेष रूप से उन्नत कुछ के लिए, इष्टतम "शुद्ध जावास्क्रिप्ट" समाधान चलाने के लिए एक सेकंड ले जाएगा। JQuery संस्करण में पूरे मिनट में 30 सेकंड लग सकते हैं! वह तो विशाल है! लोग इसके लिए चारों ओर बैठने नहीं जा रहे हैं। यहां तक ​​कि ब्राउज़र भी ऊब जाएगा और आपको बहुत लंबा समय लेने के लिए वेबपेज को मारने का विकल्प प्रदान करेगा!

जैसा कि मैंने कहा, jQuery एक शक्तिशाली उपकरण है, लेकिन इसे the answer to everything माना जाना चाहिए।

+0

अच्छा जवाब, मैंने चेक किया है इसलिए जावास्क्रिप्ट jquery सही से अधिक तेज़ है? – Rijo

+0

प्रश्न पूछने के 4 साल बाद आपने इस प्रश्न का उत्तर दिया और आपने प्रश्न का समाधान नहीं किया। व्यक्ति ने पूछा कि यह jQuery में कैसे करें। यह प्रोग्रामर पर निर्भर है कि jQuery या वेनिला जेएस का उपयोग करना है और प्रश्न के दायरे से बाहर है –

+0

वेनिला जेएस !?? मजाक कर, मैं आधे घंटे बिताया कि हैक वेनिला जेएस क्या है। –

-2

नीचे दी गई रेखा के लिए, शुरुआत में एक कोड देने के साथ समस्या का सामना करना पड़ा जो 'currnetRowAppName'value स्ट्रिंग के साथ स्थान नहीं ले रहा है। तो, उसके बाद एकल कोड '"+row.applicationName+"' दे रहा है, इसकी जगह भी ले रही है।

उदाहरण:

<button class='btn btn-primary btn-xs appDelete' type='button' currnetRowAppName='"+row.applicationName+"' id="+row.id+ > 

var viewAppNAME = $(this).attr("currnetRowAppName"); 
alert(viewAppNAME) 

यह ठीक काम कर रहा है।

संबंधित मुद्दे