将href单击函数放入if-else语句中

时间:2010-11-16 18:26:53

标签: jquery click href if-statement

我有这个功能

$("a[href*=/category/movies/]").click(function() {
so.addVariable('stretching','fill');
so.write('mediaspace');
});

我想变成一个if ... else语句。

如何定位div#header_playlist_categories中的链接 如果链接指向“/ categories / movies /”以外的其他语句,则应用else语句?

3 个答案:

答案 0 :(得分:1)

我认为您要做的是处理adiv#header_playlist_categories元素的所有点击。如果链接的href属性包含/category/movies/而另一个属性包含$('#header_playlist_categories').delegate('a', 'click', function(e) { e.preventDefault(); // I imagine you always want to disable the default action if (this.href.indexOf('/category/movies/') !== -1) { so.addVariable('stretching','fill'); so.write('mediaspace'); } else { // do whatever else you want to do } }); ,则您希望做一件事。如果是这样,您可以使用delegate()

很好地完成此操作
{{1}}

答案 1 :(得分:0)

您可以像这样使用:not()来获取其他链接:

$("#header_playlist_categories a:not([href*=/category/movies/])").click(function() {
  //something else
});

或者稍微便宜一点,查看循环:

$("a").each(function() {
 if(this.href.indexOf("/category/movies/") !== -1) {
   $(this).click(function() {
     so.addVariable('stretching','fill');
     so.write('mediaspace');
   });
 } else {
   $(this).click(function() {
     //something else
   });
 }
});

答案 2 :(得分:0)

您应delegate that event div#header_playlist_categories

在回调函数中,访问被点击的链接的“href”属性,并根据其值来分支处理程序。