使用.attr()方法的JavaScript switch语句的行为

时间:2014-05-14 18:05:28

标签: javascript jquery switch-statement case

我有一个JavaScript switch语句来识别我的img src是否等于某个链接,但是当我运行它时,没有一个case语句被执行。执行线直接落空。

switch (sitem.attr("src")) {
    case "../Stranice/Ultraga/Ultraga.html":
        $(".rectangle-u h2").text('ULTRAGA');
        $(".rectangle-d h2").text('NEZIR KAMENICA');
        break;
    case "../Stranice/Aida i Ajna/pocetna/pocetna.html":
        $(".rectangle-u h2").text('WEBSTRANICA');
        $(".rectangle-d h2").text('AIDA I AJNA');
        break;
    case "../Stranice/Vedad/Home/Home.html":
        $(".rectangle-u h2").text('GAME DRAGON');
        $(".rectangle-d h2").text('VEDAD FAZLIĆ');
        break;
}

我如何弄清楚为什么没有案例陈述被执行?

2 个答案:

答案 0 :(得分:2)

attr()会返回绝对网址,这就是为什么它与您的相对网址不匹配。

答案 1 :(得分:0)

如何使用for each并检查是否包含

   $(".Containerclass img").each(function() {  
      imgsrc = this.src;
      if (imgsrc.toLowerCase().indexOf("Ultraga.html") >= 0))
        {
          $(".rectangle-u h2").text('ULTRAGA');
          $(".rectangle-d h2").text('NEZIR KAMENICA');
        }
      else if (imgsrc.toLowerCase().indexOf("pocetna.html") >= 0))
        {
          $(".rectangle-u h2").text('WEBSTRANICA');
          $(".rectangle-d h2").text('AIDA I AJNA');
        }
      else if (imgsrc.indexOf("Home.html") >= 0))
        {
          $(".rectangle-u h2").text('GAME DRAGON');
          $(".rectangle-d h2").text('VEDAD FAZLIĆ');
        }
     }); 

确保使用.toLowerCase(),然后indexOf()内的文本必须是小写字母。

一切顺利