2012-03-13 65 views
1

我有兩個div,我想點擊。每個div都有一個錨鏈接,我希望爲每個div的鏈接使用它。讓分支鏈接

我使用低於適用於左格,但不正確的幫助。 http://css-tricks.com/snippets/jquery/make-entire-div-clickable

不知道我錯過了什麼,或者如果有更好的方法來做到這一點?理想情況下,我只想使用CSS,但即使js被禁用,此選項仍然可以工作。

任何幫助將是偉大的。

$('.left').click(function(){ 
    window.location=$(this).find("a").attr("href"); 
    return false; 
}); 
$('.right').click(function(){ 
    window.location=$(this).find("a").attr("href"); 
    return false; 
}); 


    <div class="left"> 
    <div class="left-content"> 
     <h2><a href="#">title</a></h2> 

     <ul> 
      <li>Link</li> 
      <li>Link</li> 
      <li>Link</li> 
     </ul> 
    </div> 
</div> 

<div class="right"> 
    <div class="right-content"> 
     <h2><a href="#">title</a></h2> 

     <ul> 
      <li>Link</li> 
      <li>Link</li> 
      <li>Link</li> 
     </ul> 
    </div>   
</div> 
+0

我承擔了真實版在你的''的HREF中s爲不只是一個#,對不對? – Jordan 2012-03-13 18:44:54

+0

有沒有辦法做到這一點沒有JS - CSS無法將click()事件添加到div,這是你需要的,以便它是可點擊的。 – kclair 2012-03-13 18:48:11

回答

5

把資料覈實錨內是有效的HTML5,並與其他DOCTYPES向後兼容。

<a href="#"> 
    <div class="right"> 
     <div class="right-content"> 
      <h2>title</h2> 
      <ul> 
       <li>Link</li> 
       <li>Link</li> 
       <li>Link</li> 
      </ul> 
     </div>   
    </div> 
</a> 
+0

感謝這看起來像一個很好的解決方案不知道你可以圍繞div的錨定。只要它驗證看起來像最好的選擇,而不是js。 – Jemes 2012-03-13 21:34:43

2

使用這種方式:

$('.left').click(function(){ 
    window.location=$(this).children("a:first").attr("href"); 
    return false; 
}); 
$('.right').click(function(){ 
    window.location=$(this).children("a:first").attr("href"); 
    return false; 
}); 
1

工作正常here

$(document).on('click','.clickable', function(){ 
    window.location=$(this).find("a").attr("href"); 
    return false; 

}); 

,我已經添加上懸停指針的唯一的事情。

0

你可以用CSS做到這一點。給你的主播標籤display: block;。然後在a內放ul

這裏是一個live demo。如果你將鼠標懸停在div之上,你會發現它們都是可點擊的。