2010-05-25 20 views
7

मैं मूल रूप से ऐसा करने की कोशिश कर रहा हूं जो विषय सुझाता है, लेकिन मुझे मेरी चेतावनी में "अपरिभाषित" हो रहा है, और मुझे पूरा यकीन नहीं है कि क्यों। मैं jquery के लिए काफी नया हूँ, इसलिए, शायद मेरे पास सिंटैक्स गलत है, लेकिन यह सुनिश्चित नहीं है कि यहां से कहां जाना है। मैं अपने प्रयासों की दोनों, दोनों उपज "अनिर्धारित" चेतावनी में ...jquery का उपयोग कर चर तत्व में बाल तत्व और स्टोर की एक आईडी प्राप्त करें?

//In my first attempt, I'm trying to get the id of the inner a tag 
<ul> 
       <li id="l1" class="active"><a href="#c1">Samp 1</a></li> 
       <li id="l2" class=""><a href="#c2">Samp 2</a></li> 
       <li id="l3" class=""><a href="#c3">Samp 3</a></li> 
     </ul> 

var selected = $(".active).children("a").attr("id"); 
    alert(selected); 

//In my second attempt, I'm trying to get the id of the currently selected li 
    var selected = $(".active").attr("id"); 
    alert(selected); 

उत्तर

12
$(".active").children("a").attr("id"); 

आपका <a> तत्वों एक id, केवल एक href जरूरत नहीं है। और बच्चों के फ़ंक्शन के बजाय चयनकर्ता का उपयोग करके आपका कोड पढ़ने में आसान हो सकता है।

क्या आपका मतलब $(".active > a").attr("href") है?


$(".active").attr("id"); 

jQuery jQuery संग्रह में पहला तत्व की id विशेषता वापस आ जाएगी। क्या आपके पास कक्षा active के साथ कोई अन्य तत्व है?

मैं सुझाव है कि आप की कोशिश $("ul > li.active").attr("id")

0

मुद्दा एंकर के साथ रहना है कि एंकर आप वास्तव में चयन किए जाने वाले में से कोई भी एक आईडी होनी लगती है जो पोस्ट करेंगे। क्या आपका मतलब किसी भी मौके से .attr("href") है?

var selected = $(".active").attr("id"); 
alert(selected); 

तो अपने दूसरे प्रयास में सही है, you can see it in action here:

1

पहले ही प्रयास में, आप <li> भीतर <a> हो रही है ... जो एक आईडी नहीं है, तो आप सिर्फ यह की जरूरत है।

आप वास्तव में <a> तत्व से id प्राप्त करने के लिए होती है, तो आप उन्हें आईडी देने के लिए और अपने पहले ही प्रयास में काम करेंगे, you can see it here की जरूरत है।

-1

आपको गलत विशेषता मिल रही है (या आपके पास गलत मार्कअप है)। आपके टैग में कोई "आईडी" विशेषता नहीं है। अन्यथा

var selected = $(".active).children("a").attr("href"); 
    alert(selected); 

अगर आप का उपयोग करना चाहिए माता पिता की आईडी प्राप्त करने की आवश्यकता:: आप, "href" गुण है, इसलिए यदि आप "href" का मूल्य geth की कोशिश कर रहे आप इस का उपयोग करना चाहिए

var selected = $(".active).attr("id"); 
    alert(selected); 
+0

आप दोहरे उद्धरण चिह्नों वंचित रह जाएंगे। –

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