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

コンテナはクリック可能になりますが、カーソルは同じままです。css セレクターが機能しないのはなぜですか?

4

3 に答える 3

4
  1. リンクのあるすべての製品を検索する
  2. ポインターをカーソルとして置きます
  3. クリック イベントを処理して場所を変更する

コード:

$(".product:has(a[href])")
    .css("cursor", "pointer")
    .click(function()
    {
        window.location = $("a", this).attr("href");
    });
于 2010-03-01T16:16:43.450 に答える
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;
});
于 2010-03-01T15:56:43.023 に答える
0

本当にクリック ブロックにカーソルを設定しますか? あなたが本当にやりたいことをするためには、代わりにこれが必要だと私には思えます:

編集:OK、aを含むものにのみクリックイベントを設定したいことを考慮して:

$(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;
            });
        }
    });
});
于 2010-03-01T16:00:27.840 に答える