多个锚标签在同一页面上具有相同的href,片段标识符不起作用

时间:2013-01-11 16:59:35

标签: jquery html

这是最奇怪的事情 - 我有一个带有以下锚标记的html页面,它可以很好地工作。

<a href="index.php#contact">Contact</a>

在页面的下方,我有完全相同的锚标记......

<a href="index.php#contact">Contact</a>

第一个有效,第二个没有! Firebug控制台显示以下错误消息:

[11:52:23.927] Syntax error, unrecognized expression: nav a[href=index.php#contact] @ http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js:2

这太奇怪了!如果我删除href的片段标识符(#contact)部分,则链接可以正常工作!例如:

<a href="index.php">Contact</a>

使用差异片段标识符不起作用 - 示例:

<a href="index.php#abcdefg">Contact</a>

有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:1)

问题是你的jquery选择器。 看来你正在调用像这样(或类似)的jquery函数:

$('nav a[href=index.php#contact]');

要修复它,请使用:

$('nav a[href="index.php#contact"]');