使用jQuery使div可点击

6

jsfiddle: http://jsfiddle.net/FgZnK/1/

点击方框会跳转到“页面未找到”。我该如何解决这个问题?

HTML

<div class="myBox"></div>

jQuery

$(".myBox").click(function(){
    window.location=$(this).attr("http://google.com");
     return false;
});
7个回答

15

这是正确的代码:

$(".myBox").click(function() {
    window.location = "http://google.com";
});

6

http://jsfiddle.net/FgZnK/2/

HTML

<div class="myBox" data-href="http://google.com/">
</div>

JS

$(".myBox").click(function(){
    window.location = $(this).attr("data-href");
    return false;
});

2
在这个块中:
$(".myBox").click(function(){
window.location=$(this).attr("http://google.com");
 return false;
});

您实际上是在尝试读取不存在的名为http://google.com的属性。

相反,请使用:

$(".myBox").click(function(){
    window.location = 'http://google.com';
});

如果您希望实际目标位于标记中而不是脚本中,请使用以下内容:
$(".myBox").click(function(){
    window.location = $(this).attr('href');
});

在您的DIV上添加href属性,就像在A链接上一样。

在这些处理程序中没有必要使用return false,因为DIV没有需要防止的默认操作,不像普通链接。


为什么在 window.location 后返回 false? - Popnoodles

1

在新窗口中打开...

    $("#whatever").click(function() {
        window.open(
          'https://www.example.com',
          '_blank' // open in new window
        );
    });

0
window.location="http://google.com";

0
$(".myBox").click(function(){
    window.location.href="http://google.com";
    return false;
});

0

这是有问题的代码行:

window.location=$(this).attr("http://google.com");

这没有任何意义,你试图将位置更改为 div 元素中名为“http://google.com”的属性的值。

只需像这样进行更正:

$(".myBox").click(function(){
    window.location= "http://google.com";
     return false;
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接