2010-11-01 29 views
6

अगर तर्क के लिए मैं एक वर्ग को <p> और <a> पर लागू कर रहा हूं और फिर मैं यह निर्धारित करना चाहता हूं कि यह एक <a> या <p> था जिसे क्लिक किया गया था, तो क्या ऐसा करने का कोई तरीका है?जेएस/jQuery - तत्व का प्रकार प्राप्त करें

इच्छित उपयोग का उदाहरण:

$(".selector").click(function(){ 
    element = $(this).whatElementWasClicked(); // return "a" or "p" 
} 

उत्तर

9

कोशिश के लिए

+2

क्यों कोशिश करें? क्यों न सिर्फ उपयोग करें? –

+1

आप सही हैं, मुझे 'उपयोग' – ilkin

+6

टिम डाउन कहा जाना चाहिए, क्या यह थोड़ा अधिक पेडेंटिक नहीं है? – araisbec

3

उपयोग nodeName या tagName। कुछ इस तरह उपयोग करने के लिए टैग हो रही

+0

मोज़िला दस्तावेज़ की बजाय, डब्ल्यू 3 सी कैसे करें: http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-F68D095 और http: //www.w3। संगठन/टीआर/डोम-लेवल -2-कोर/कोर.html # आईडी-104682815 –

+2

@ ओपी: यदि आप सोच रहे हैं कि दो क्यों हैं, इसके बारे में चिंता न करें, तत्वों के लिए (गुणों या टेक्स्ट नोड्स के विपरीत), उनके पास एक ही मूल्य होगा। यदि आप केवल तत्वों का उपयोग कर रहे हैं, तो 'टैगनाम' आपके कोड को पढ़ने वाले अन्य लोगों के लिए अधिक परिचित होगा। –

+3

@TJCrowder मैं मोज़िला दस्तावेज़ पसंद करता हूं क्योंकि उनके पास आमतौर पर प्रासंगिक चश्मा के लिए उदाहरण हैं, क्रॉस ब्राउज़र संगतता जानकारी (जहां उचित हो) _and_ लिंक। – robertc

2

उपयोग टैगनाम:

$(".selector").click(function(event){ 
    var element = event.target.nodeName } 
3

$(this).is("a"), उदाहरण के लिए, यह भी काम करेंगे। यह उपयोगी है यदि आप एक अधिक जटिल चयनकर्ता के खिलाफ जांच कर रहे हैं, न सिर्फ एक विशेष तत्व प्रकार।

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