可点击的块指针

发布于 2024-08-23 00:16:19 字数 221 浏览 6 评论 0原文

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

容器变得可点击,但光标保持不变。为什么 css 选择器不起作用?

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

The container is made clickable but the cursor remains the same. Why isn't the css selector working?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

荭秂 2024-08-30 00:16:19
  1. 查找所有有链接的产品
  2. 将指针作为光标
  3. 处理单击事件以更改位置

代码:

$(".product:has(a[href])")
    .css("cursor", "pointer")
    .click(function()
    {
        window.location = $("a", this).attr("href");
    });
  1. Find all the products that have a link
  2. Puts a pointer as cursor
  3. Handle the click event to change location

The code:

$(".product:has(a[href])")
    .css("cursor", "pointer")
    .click(function()
    {
        window.location = $("a", this).attr("href");
    });
你在看孤独的风景 2024-08-30 00:16:19

“.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;
});

The return value from ".attr" is the attribute value, not a jquery object.

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

If you want the "container" to have a new cursor, then maybe you want this:

$(".product").click(function () {
  window.location = $(this).find('a').attr("href");
  $(this).css("cursor", "pointer");
  return false;
});
拍不死你 2024-08-30 00:16:19

您确实要将光标设置在点击块中吗?在我看来,要做你真正想做的事,你需要这个:

编辑:好的,考虑到你只想在包含 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;
            });
        }
    });
});

Do you really want to set the cursor in the click block? It seems to me that to do what you really want, you need this instead:

Edit: OK, taking into account that you only want to set click events on those that contain an 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;
            });
        }
    });
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文