2015-09-24 10 views
10

nasıl $ (this.hash) jQuery çalışır? Ben id biletleri ile div gösterecektir href biletleri ile bağlantı kurmak tıklarsanız - Bu senaryo bu gibi çalışması gerekir varsayımına dayanmıştır. Ama işe yaramıyor.

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

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

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

sizin div div 'this.hash' belgelenmiştir bu

Diptox

cevap

30

this.hashthis ait href özelliğini okur ve # ile başlayan URL parçasını alır. çapa gibi görünüyor Yani eğer:

<a href="someURL#foobar"> 

this.hash#foobar olacaktır. Sonra $(this.hash).show() kullandığınızda, $("#foobar").show() yapmakla eşdeğerdir, bu yüzden id="foobar" ile elemanını gösterecektir.

+0

gibi olmalı bu Ticket 1 gibi a href için Exemple aynı href sahip olduğundan emin olun? Google bu sayfayı verir. –

+0

@ MarkoAvlijaš https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hash o this' ne 'bağlıdır, çünkü this.hash'' ararken olmamalıdır – Barmar

+1

. Uygun HTML eleman türünün belgelerine bakmanız gerekiyor. Bu soruda, '' '' bir 'HTMLAnchorElement'' dir. Ancak birçok uygulamada 'location.hash' kullanıyoruz. – Barmar