JQuery

2012-06-14 5 views
54

का उपयोग कर किसी ईवेंट को निकालने वाले तत्व की कक्षा प्राप्त करना वैसे भी क्लिक करें जब ईवेंट को निकाल दिया जाता है। नीचे मेरा कोड, यह केवल आईडी के लिए काम करता है लेकिन कक्षा नहीं।JQuery

एचटीएमएल:

<html> 
<body>  
<a href="#" id="kana1" class="konbo">click me 1</a> 
<a href="#" id="kana2" class="kinta">click me 2</a> 
</body> 
</html> 

JQuery:

$(document).ready(function() { 
    $("a").click(function(event) { 
     alert(event.target.id+" and "+event.target.class); 
    }); 
}); 

jsfiddle कोड here

+11

कक्षा ईसीएमएस्क्रिप्ट में एक आरक्षित काम है, इसलिए वर्ग विशेषता 'क्लासनाम' डोम संपत्ति में मैप की गई है। 'Event.target.className' का प्रयोग करें। '.className' के लिए – RobG

उत्तर

103

प्रयास करें:

$(document).ready(function() { 
    $("a").click(function(event) { 
     alert(event.target.id+" and "+$(event.target).attr('class')); 
    }); 
}); 
71

यह पूर्ण वर्ग (mult हो सकता है में शामिल होंगे यदि तत्व में एक से अधिक वर्ग हैं तो एकाधिक स्थान अलग-अलग वर्ग)। इसे अपने कोड में या तो "konbo" या "Kinta" में शामिल होंगे:

event.target.className 

आप नाम से कक्षाओं के लिए जाँच करने के लिए jQuery का उपयोग कर सकते हैं:

$(event.target).hasClass('konbo'); 

और addClass और removeClass साथ जोड़ सकते हैं या उन्हें हटाने के लिए ।

+5

+1। किसी कारण से –

1

आप jQuery 1.7 उपयोग कर रहे हैं:

alert($(this).prop("class")); 

या:

alert($(event.target).prop("class")); 
1
<html> 
    <head> 
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 
    </head> 
<body>  
<a href="#" id="kana1" class="konbo">click me 1</a> 
<a href="#" id="kana2" class="kinta">click me 2</a> 

<script> 
    $(document).ready(function() { 
    $("a").click(function(event) { 
     var myClass = $(this).attr("class"); 
     var myId = $(this).attr('id'); 
     alert(myClass + " " + myId); 
    }); 
}) 
</script>> 
</body> 
</html> 

यह मेरे लिए काम करता है। JQuery में कोई event.target.class फ़ंक्शन नहीं है।

+0

मुझे घटना का उपयोग करना है, वैसे भी उत्तर के लिए धन्यवाद। ब्रोश ने जवाब दिया है कि मुझे क्या चाहिए। – Redbox

0

target के रूप में सावधान रहना सभी ब्राउज़रों के साथ काम नहीं कर सकता है, यह क्रोम के साथ अच्छी तरह से काम करता है, लेकिन मुझे फ़ायरफ़ॉक्स (या आईई/एज, याद नहीं किया जा सकता) थोड़ा अलग है और srcElement का उपयोग करता है। मैं आमतौर पर

var t = ev.srcElement || ev.target; 

की तरह कुछ इस प्रकार

$(document).ready(function() { 
    $("a").click(function(ev) { 
     // get target depending on what API's in use 
     var t = ev.srcElement || ev.target; 

     alert(t.id+" and "+$(t).attr('class')); 
    }); 
}); 

अच्छा जवाब के लिए Thx के लिए अग्रणी है!