2010-03-01 58 views
1
// clickable blocks 
$(".product").click(
function() { 
    window.location = $(this).find('a').attr("href").css("cursor", "pointer"); 
    return false; 
}); 

容器可點擊,但光標保持不變。爲什麼不是CSS選擇器工作?可點擊塊指針

回答

4
  1. 找到所有有聯繫
  2. 產品提出一個指針光標
  3. 處理Click事件來改變位置

該代碼:

$(".product:has(a[href])") 
    .css("cursor", "pointer") 
    .click(function() 
    { 
     window.location = $("a", this).attr("href"); 
    }); 
+0

啊,我忘記了除了.has功能之外還有一個:has選擇器。哎呦。 (這對jQuery網站搜索沒有任何幫助,因爲'has') – Powerlord 2010-03-01 16:38:24

+0

完美!謝謝! :) – 3zzy 2010-03-01 16:54:08

2

「.attr」的返回值是屬性值,而不是jquery對象。

$(".product").click(function() { 
    window.location = $(this).find('a').attr("href"); 
    $(this).find('a').css("cursor", "pointer"); 
    return false; 
}); 

如果你想在「集裝箱」有一個新的光標,那麼也許你想這樣的:

$(".product").click(function() { 
    window.location = $(this).find('a').attr("href"); 
    $(this).css("cursor", "pointer"); 
    return false; 
}); 
+0

仍然沒有效果。 – 3zzy 2010-03-01 15:58:55

+1

這是因爲它只有點擊光標。 – 2010-03-01 16:27:46

0

你真的要設置在點擊塊光標?在我看來,這樣做你真正想要的,你需要這個來代替:

編輯:好的,考慮到你只需要設置點擊那些包含的一個事件:

$(function() { // or $(document).ready(function() { 
    $(".product").each(function() { 
     if ($(this).has('a')) { 
      $(this).css("cursor", "pointer"); 
      $(this).click(
      function() { 
       window.location = $(this).find('a').attr("href"); 
       return false; 
      }); 
     } 
    }); 
}); 
+0

我想它會將指針添加到所有.product塊?我也可以通過CSS來做到這一點,但只有鏈接的應該有。 – 3zzy 2010-03-01 16:01:50

+0

@Nimbuz:好的...讓我玩這個片刻...... – Powerlord 2010-03-01 16:03:08

+0

@Nimbuz:這個編輯版本可能更符合你想要的內容。 – Powerlord 2010-03-01 16:10:46