नीचे दिए गए कोड में मेरे पास दो jQuery चयनकर्ता हैं जो सही तरीके से काम करते हैं। क्या दूसरे के बजाय एक करने का कोई कारण है, या कोई और पसंदीदा तरीका है?jQuery का उपयोग कर बैकबोन.जेएस में, दृश्य के भीतर तत्व का चयन करने का सही तरीका क्या है?
var val1 = $("#username", this.el).val()
var val2 = $(this.el).find("#username").val();
मुझे पता है कि वहाँ एक ही आईडी वाले एक से अधिक तत्वों नहीं होना चाहिए हूँ, लेकिन अगर वहाँ एक ही आईडी के साथ कई तत्व हैं, ध्यान में रखते हुए ही तत्व का चयन करने (उदाहरण देखें सबसे अच्छा तरीका क्या है उपयोगकर्ता नाम के लिए नीचे)।
<body>
Username: <input type="text" id="username" /><br />
<br /><br />
<div id="login">
Username: <input type="text" id="username" /><br />
<button id="loginButton">Login</button>
</div>
<script type="text/javascript">
var LoginView = Backbone.View.extend({
el: "#login",
events: {
"click #loginButton": "login"
},
login: function() {
var val1 = $("#username", this.el).val()
var val2 = $(this.el).find("#username").val();
console.log(val1);
console.log(val2);
}
})
var loginView = new LoginView();
</script>
</body>
--------------------- अद्यतन --------------------- ---
मैं जेएसफ़िल्ड उदाहरण बना देता हूं ताकि अन्य देखने के लिए एक कामकाजी उदाहरण हो। http://jsfiddle.net/BarDev/9QpKy/
मुझे जांच नहीं है लेकिन मुझे लगता है कि आईडी द्वारा चयन करते समय संदर्भ इतना महत्वपूर्ण प्रदर्शन नहीं होता है। लेकिन यह अभी भी अन्य मामलों में एक अच्छी सलाह है – Guillaume86
@ Guillaume86 - हाँ, अगर आईडी अद्वितीय हैं तो jQuery ऑब्जेक्ट में खोजने के संदर्भ को पास करने की आवश्यकता नहीं है, तो आप सीधे आईडी चयनकर्ता का उपयोग कर सकते हैं। – ShankarSangoli