2015-09-24 19 views
10

Cách $ (this.hash) hoạt động trong jQuery? Tôi giả định rằng tập lệnh này sẽ hoạt động như thế này - nếu tôi nhấp vào liên kết với vé href, nó sẽ hiển thị div với vé id. Nhưng nó không hoạt động.

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

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

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

hãy chắc chắn div của bạn có href cùng một ví dụ cho a href như thế này Ticket 1 div phải như thế này

Diptox

Trả lời

30

this.hash đọc href thuộc tính của this, và nhận được một phần của URL bắt đầu với #. Vì vậy, nếu neo trông giống như:

<a href="someURL#foobar"> 

this.hash sẽ #foobar. Khi bạn sử dụng $(this.hash).show(), nó tương đương với làm $("#foobar").show(), do đó, nó sẽ hiển thị phần tử với id="foobar".

+0

đâu là 'this.hash' tài liệu? Google cung cấp cho trang này. –

+0

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

+1

Bạn không nên tìm kiếm 'this.hash', bởi vì nó phụ thuộc vào 'this' là gì. Bạn cần phải tìm trong tài liệu của loại phần tử HTML thích hợp. Trong câu hỏi này, 'this' là một' HTMLAnchorElement'. Nhưng trong nhiều ứng dụng, chúng tôi sử dụng 'location.hash'. – Barmar

Các vấn đề liên quan