2010-06-02 34 views
5

Tôi có mã HTML sau trong phần phụ trợ, ví dụ:Cách chụp một nhấp chuột lên giá trị href bằng cách sử dụng jQuery

<div class="navi"> 
    <a class="" href="0"></a> 
    <a class="" href="1"></a> 
    <a class="" href="2"></a> 
    <a class="" href="3"></a> 
</div> 

Xin lỗi cho câu hỏi cơ bản nhưng tôi muốn sử dụng jQuery để chụp nhấp chuột của người dùng khi họ chỉ click vào giá trị href "0"

Về cơ bản muốn ẩn một div gọi là "thông tin" khi người dùng nhấp vào nơi href = "0"

Không chắc chắn cách thực hiện?

Cảm ơn.

Trả lời

8

Bạn có thể sử dụng attribute-equals selector, như thế này (mặc dù tôi không nghĩ rằng đó là một giá trị href):

$("a[href=0]").click(function() { 
    $("#info").hide(); 
}); 

Một cách tiếp cận tốt hơn, nếu có thể, sẽ được cung cấp cho các <a> một tốt hơn href rằng điểm đến <div>, như thế này:

<div class="navi"> 
    <a class="" href="#info"></a> 
    <a class="" href="#info1"></a> 
    <a class="" href="#info2"></a> 
    <a class="" href="#info3"></a> 
</div> 

Sau đó, bạn có thể sử dụng một handler nhấp chuột chung chung hơn, liên quan đến việc <div> tương ứng như sau:

$(".navi a").click(function() { 
    $(this.hash).toggle(); 
}); 

này sẽ chuyển <div id="info"> khi bạn nhấp vào liên kết href="#info", tương tự hoặc những người khác ... nếu liên kết của bạn đều liên quan đến các div, đây là một cách tốt hơn để đi, và nó làm giảm một cách duyên dáng với Javascript bị vô hiệu .

+0

Tôi nghĩ bạn nên 'trả về false;' trên đó ..;) – Reigel

+0

@Reigel - Hiện tại, nó đến vị trí của div đó trong trang, nếu bạn không muốn bạn có thể 'return false;' hoặc 'e .preventDefault(); ', nhưng thông thường bạn * không * muốn, cách nó cho phép bạn sắp xếp div này hiển thị nếu bạn nhấn F5 chẳng hạn, hoặc đánh dấu trang, vv ... điều hướng băm có nhiều công dụng. Hãy nhớ nếu đó là một liên kết băm, bạn không rời khỏi trang. –

+0

ahhh tốt, điểm tốt Nick;) – Reigel

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