jQuery单击显示错误的div

时间:2014-05-30 11:14:13

标签: javascript jquery

我有这样的标记。我希望当有人点击div演示时,它会重定向到第二个锚标记链接。

   <div class="demo">
      <div class="social">
        <ul>
          <li>
            <a class="icon"></a>
          </li>
          <li>
            <a href="http://test.com/page" target="_blank" class="icon"></a>
          </li>
        </ul>
      </div>
    </div>

因此,我有这样的jquery

jQuery(document).ready(function() {
  jQuery(".demo").on('click', function () {
    var link = jQuery(this).find('li:last-child').children('a').attr("href");
    window.location.href = jQuery(link);
  });
});

但是这个在控制台选项卡中显示错误,如未捕获错误:语法错误,无法识别的表达式:带链接。那么如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

在链接变量中分配href字符串而不是jQuery对象,jQuery函数中的包装链接将其视为变量传递选择器。我认为你没有定义任何变量,名称等于link的值(变量)

更改

window.location.href = jQuery(link);

 window.location.href = link;

答案 1 :(得分:0)

改变这个:

window.location.href = jQuery(link);

到此:

window.location.href = link;

这是一个存储href属性值的变量,因此您不必用jQuery包装它来创建它的对象。