2011-01-26 14 views
6

मैं प्रयास कर रहा हूँ:क्या JQuery <label> के टेक्स्ट द्वारा चयन कर सकते हैं या इसके गुणों का आकलन कर सकते हैं?

$('label[text="someValue"]) 

लेकिन एक खाली लौटे सेट हो रही है, सबसे शायद के बाद से पाठ एक विशेषता नहीं है।

क्या तत्व के पाठ या आंतरिक HTML द्वारा चयन करना संभव है?

संपादित करें::contains("someValue) पर्याप्त सख्त नहीं है, क्योंकि यह कुछ वैल्यू के किसी भी मैचों को एक सबस्ट्रिंग के रूप में वापस कर देगा।

क्या डिबगिंग/निष्पादन के दौरान जांच/पूछताछ के लिए सभी तत्वों के गुणों का आकलन करने का कोई तरीका है?

+1

वास्तव में क्या आप के साथ मतलब है * है सभी तत्वों के गुणों का आकलन करने का कोई तरीका * है? आप ऑब्जेक्ट के गुणों के लिए '(var prop में ob prop) 'के साथ पुनरावृत्त कर सकते हैं। क्या तुम्हारे कहने का मतलब यही था? फ़ायरबग या सीधे क्रोम में, आप 'console.dir (obj)' के साथ किसी ऑब्जेक्ट की एक सूची भी प्राप्त कर सकते हैं। –

+0

हां, मैं देखना चाहता था कि उस तत्व के लिए निर्धारित गुणों की एक सूची क्या है। 'लूप' लूप इसे करने का एक अच्छा तरीका दिखता है। धन्यवाद फेलिक्स। – StuperUser

उत्तर

12

आप उन सभी को चुनें और फिर filter का उपयोग करके एक छोटे सबसेट के लिए नीचे फ़िल्टर कर सकते हैं:

$('label').filter(function() { 
    return $(this).text() === "someValue"; 
}); 
0

वहाँ एक तत्व के पाठ प्राप्त करने के लिए एक समारोह है:

http://api.jquery.com/html/

var labelText = $('.parentClass label').html(); 

क्या क्या आप एक लेबल में विशेषताओं को जोड़ देंगे? आप लेबल की विशेषताओं को चर आवंटित कर सकते हैं (मैं विशेषता के लिए आमतौर पर चाहते हैं तो मैं लेबल के साथ काम कर रहा था):

var labelAttr = $('.parentClass label').attr('for'); 
+0

'टेक्स्ट()' 'html()' से बेहतर हो सकता है। यदि 'लेबल' में' इनपुट 'तत्व है, तो पहला व्यक्ति उस इनपुट के HTML को वापस कर देगा, जबकि बाद वाला टेक्स्ट केवल टेक्स्ट लौटाएगा। –

+0

मैं सभी तत्वों के गुणों को गिनना चाहता हूं। मैं लगभग हमेशा 'के लिए' का उपयोग करता हूं लेकिन यह लेबल इनपुट के लिए नहीं है और फोकस की अतिरिक्त कार्यक्षमता पृष्ठ पर अन्य कार्यक्षमता के साथ पूर्णांक करती है। – StuperUser

+0

नीचे दिए गए उत्तर की जांच करें ... वही करता है जो आप चाहते हैं। –

1

परीक्षण किया गया इस:

$.each($("#form label"), function() { 
     var nodes = this.attributes; 
     for(var i=0; i<nodes.length; i++) 
     { 
      alert(nodes[i].nodeName); 
     alert(nodes[i].nodeValue); 
     } 
    }); 
संबंधित मुद्दे