jquery属性声明它是未定义的

时间:2015-05-07 14:06:35

标签: javascript jquery

我有一些代码我试图开始工作,但是我现在似乎已经绕圈了。

目的是停止即时点击事件,然后继续做一些事情。

我已经从window.open交换到window.location到window.replace但是还没有一个人按照我的需要行事。

使用下面的当前代码,变量href未定义。

任何帮助表示感谢 - 我知道javascript很少。

$("ul.tabs li").click(function (e) {

    var href = $(this).attr("href");

    e.preventDefault();

    setTimeout("location.replace(" + href + ");",2000);
});

2 个答案:

答案 0 :(得分:0)

因为li没有href属性。

$("ul.tabs li a").click(function (e) {

        var href = $(this).attr("href");

        e.preventDefault();

        setTimeout(function() {document.location.replace(href);},2000);
    });

如果您想将$(this).find('a').attr('href');事件应用于click元素

,您可以li

答案 1 :(得分:0)

试试这个:

$("ul.tabs li").click(function (e) {
// or use $("ul.tabs li a") and don't write .find('a') below

var href = $(this).find('a').attr("href");


e.preventDefault();

setTimeout(function()
   {
      location.replace(href);
    },2000);
});

JsFiddle现在不工作,所以CodePen