我有这样的标记。我希望当有人点击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);
});
});
但是这个在控制台选项卡中显示错误,如未捕获错误:语法错误,无法识别的表达式:带链接。那么如何解决这个问题?
答案 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包装它来创建它的对象。