如果声明不起作用jquery

时间:2013-01-12 10:50:01

标签: javascript jquery if-statement pathname

我有这个网址:

csumb/index.php?page=consultanta 

我尝试比较2个链接,但如果我更改链接并刷新页面,此代码会执行相同的操作。

var pathname = window.location.pathname;
var a = "csumb/index.php?page=consultanta";

if(pathname == a) {
    $("body").html("rahat");
}

4 个答案:

答案 0 :(得分:2)

要使用文字参考,location(或window.location有多个部分):

https://packagist.org/search/?search_query%5Bquery%5D=symfony

console.log(location)直接用于Chrome控制台,它会提供以下属性(以及其他一些内容):

hash: ""
host: "packagist.org"
hostname: "packagist.org"
href: "https://packagist.org/search/?search_query%5Bquery%5D=symfony&page=4"
origin: "https://packagist.org"
pathname: "/search/"
port: ""
protocol: "https:"
search: "?search_query%5Bquery%5D=symfony&page=4"

你真正追求的是:

var pathname = location.pathname + location.search;
var a = "/csumb/index.php?page=consultanta";
//       ^ Note the / at the beginning

如果网址中的文件名位于location.pathname,则index.php也不需要单独添加。

答案 1 :(得分:1)

试试这个:

var pathname = window.location.pathname;
var search = window.location.search;
var a = "/csumb/index.php?page=consultanta";

if((pathname + search) == a) {
    $("body").html("rahat");
}

答案 2 :(得分:1)

这不是jQuery,请将标题编辑为javascript。 if语句中没有使用jQuery部分。 window.location.pathname返回类似/csumb/index.php的内容,不带参数。因此,如果您想使用其他参数检查路径名,则需要执行以下操作:

var path = window.location.pathname + window.location.search; 

答案 3 :(得分:0)

您需要使用===运算符,并且需要添加“/".

您还需要window.location.search

var a = "/csumb/index.php?page=consultanta";
var search = window.location.search;
var pathname = window.location.pathname;

if(pathname + search === a) {
    $("body").html("rahat");
}