2015-09-24 6 views
10

$ (this.hash) jQuery में कैसे काम करता है? मैंने सोचा कि इस स्क्रिप्ट को इस तरह काम करना चाहिए - अगर मैं href टिकट से लिंक करने के लिए क्लिक करता हूं तो यह आईडी टिकटों के साथ div दिखाएगा। लेकिन यह काम नहीं करता है।

var search = $("#switcher").find("a"), 
    hotels = $("#find").children("div").hide(); 

search.on('click', function (e) { 

    $(this.hash).show() 
    e.preventDefault() 
}); 
+0

सुनिश्चित करें कि आपके div div इस

Diptox

उत्तर

30

this.hashthis की href विशेषता पढ़ता है, और यूआरएल # के साथ शुरुआत का हिस्सा हो जाता है। तो लंगर की तरह लग रहा है, तो:

<a href="someURL#foobar"> 

this.hash#foobar हो जाएगा। जब आप $(this.hash).show() का उपयोग करते हैं, तो यह $("#foobar").show() करने के बराबर है, इसलिए यह id="foobar" के साथ तत्व दिखाएगा।

+0

है कहाँ 'this.hash' दस्तावेज की तरह होना चाहिए इस Ticket 1 की तरह एक href के लिए एक उदाहरण के एक ही href है हो सकता है? Google यह पृष्ठ देता है। –

+0

@ MarkoAvlijaš https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash – Barmar

+1

आपको 'this.hash' की खोज नहीं करनी चाहिए, क्योंकि यह इस बात पर निर्भर करता है कि यह क्या है। आपको उचित HTML तत्व प्रकार के दस्तावेज़ों को देखने की आवश्यकता है। इस प्रश्न में, 'यह' एक 'HTMLAchorElement' है। लेकिन कई अनुप्रयोगों में, हम 'location.hash' का उपयोग करते हैं। – Barmar

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