如果类名和窗口位置匹配,请执行某些操作

时间:2013-11-28 11:56:16

标签: javascript jquery

如果点击的班级名称与当前网址名称相同,则等同于true。以下是我目前的方式:

$('a.archive').click(function(){
   if (window.location == www.google.com/archive.php)
  // do something
else {
  // do default
     }
});

但是,我不想在每个if语句中写一个不同的URL。我想找到一种匹配位置的方法:www.google.com/archive.php,其中包含已点击的班级名称:。存档

理想情况下,我可以写这个,而不是:

$('a.archive').click(function(){
 if (URLandClassNameMatch).
      // do something
    else {
      // do default
         }
});

3 个答案:

答案 0 :(得分:0)

这可能是你想要的

http://jsfiddle.net/KDLjf/82/

检查这个小提琴以及你的评论

http://jsfiddle.net/KDLjf/83/

$('a.archive').click(function(){
    var url="www.google.com/"+$(this).attr('class')+".php";
    alert(url);
 if (window.location==url) // so if they match, it equates to true.
 {
 alert('Matched')
 }
      // do something
    else {
        alert('Not Matched')
      // do default
         }
});

答案 1 :(得分:0)

我认为这样的事情?

$("a").click(function(ev)
{
   var classes = ($(this).attr('class') || "").split(" ");
   $.each(classes, function(index, value)
   {
       if (window.location.href.indexOf("/"+value+".php") != -1)
          // doSomething
   });
});

答案 2 :(得分:0)

根据我的理解,我做过类似的事情

var yourclassclass = $('your_id').attr('class');
var regx = new RegExp("[a-z][A-Z].[a-z][A-Z].com/"+yourclassclass+".php");
var URLandClassNameMatch = regx.exec(yourURL.search);
if (URLandClassNameMatch).
   // do something
else {
   // do default
}

如果从“window.location”获取URL,则将yourURL替换为“window.location”。