3

我不知道为什么这不起作用。尽管我确定这与我在 if 语句中处理 url 的方式有关。如果基本的话,我的 Jquery / javascript 知识。

var url = $(location).attr('href');

if (url == 'http://www.website.com/test/index.html')
{
  $('#HomeButton').bind('click', HomeButton);
} 

function HomeButton(e) {
e.preventDefault();

doSomething....

};
4

2 回答 2

4

不要使用 jquery 访问标准对象属性。

你可以做

if (document.location.href == 'http://www.website.com/test/index.html')

但是您永远不应该与整个 URL 进行比较:如果您更改域、在其他地方进行测试、使用 https、添加参数等,您将得到错误的结果。您应该使用 的预期属性location,即pathname

if (document.location.pathname == '/test/index.html')

如有疑问,如果您想确定您的路径名,只需打开 Chrome 的开发人员工具(通过输入 F12)并在控制台上输入:document.location.pathname

于 2012-07-09T07:40:20.400 回答
1

window.location不是 DOM 元素,因此您不能在其上使用 jQuery 方法。

.href实际上是对象的属性Location

直接用就行了if (window.location.href === ...)

于 2012-07-09T07:40:06.653 回答