Javascript 如何基于url编写基本jquery if语句
我不知道为什么这不起作用。虽然我确信这与我在if语句中处理url的方式有关。基本的Jquery/javascript知识Javascript 如何基于url编写基本jquery if语句,javascript,jquery,Javascript,Jquery,我不知道为什么这不起作用。虽然我确信这与我在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(); d
var url = $(location).attr('href');
if (url == 'http://www.website.com/test/index.html')
{
$('#HomeButton').bind('click', HomeButton);
}
function HomeButton(e) {
e.preventDefault();
doSomething....
};
window.location
不是DOM元素,因此不能对其使用jQuery方法
.href
实际上是位置
对象的属性
直接使用它-
如果(window.location.href====…)
不使用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
您也可以使用click()方法,而不必绑定到函数<代码>$(“#HomeButton”)。单击(函数(){//do stuff})@Conner实际上,规范的jQuery现在是.on('click',…)
Ok然后.on('click',function(e){//do stuff})代码>我在检查if时遇到了问题。。。所以这是可行的:如果(window.location.href==='),但只有当有人在地址中不使用www进行导航时……如果有人这样做,该函数将无法工作。有没有一种方式可以说:如果(window.location.href===''和')???在我上面的示例中,由于某种原因,注释仅显示website.com/test,而在显示的最后一个链接上,它的前面应该有一个www。所以基本上我是在问,在if语句中是否有一种方法可以解释这两个url?这两个URL都是website.com和website.com,前面有www