根据页面名称执行操作(Javascript)

时间:2016-05-07 13:47:27

标签: javascript jquery html css

我正在尝试获取JS中当前页面的名称,并检查该名称是否与常量匹配。如果是,我想触发警报。我能够得到页面的名称,但if语句中有问题,我不确定它是什么。

package co.farel.server.services.test;

import static org.junit.Assert.assertEquals;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import co.farel.server.services.test.config.WebConfig;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={WebConfig.class})
public class ExampleTest {

    @Test
    public void test() {
        assertEquals(true, true);
    }

}

2 个答案:

答案 0 :(得分:1)

在你的if语句中,你只使用一个=。这不是比较器,您可以使用==来检查两个变量是否相等

  <script language="JavaScript">
var sPath=window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
var sHost = 'host.html' ;
if(spage == sHost){
  alert('orange');
}
</script>

希望它有所帮助:)

答案 1 :(得分:1)

如果语句比较运算符应为==或更好===

if(spage == sHost){
  alert('orange');
}

if(spage === sHost){
  alert('orange');
}
  

严格相等运算符===只考虑具有相同类型的相等值。

     

lenient等于运算符==在比较严格相等之前尝试转换不同类型的值。

严格等于=== 比较两个值。具有不同类型的值永远不会相等。如果两个值具有相同的类型,则以下断言成立。

undefined === undefined
null === null

两个(原始)数字:

    NaN !== _  // any value including NaN
    x === x
    +0 === -0

任何数字x。因此,在JavaScript中,等式不是反身,因为NaN不等于它自己。

两个布尔,两个字符串(原始):显而易见的结果 两个对象(包括数组和函数):x === y仅当x和y是同一个对象(!)时。也就是说,如果你想比较不同的对象,你必须手动完成。

等于==  基本上比较两个值。如果两个值具有相同的类型,则与==进行比较:

undefined == null  

如果您有一个数字,一个字符串:将字符串转换为数字

布尔值和非布尔值:将布尔值转换为数字,然后执行比较。

将字符串或数字与对象进行比较:尝试将对象转换为基元,然后进行比较。