2014-01-10 47 views
0

所以,我有幾個環節:控制使用。每個的()

<a class="high_res_link" href="http://www.flickr.com/photos/websterk3/6637215599/"> 
<a class="high_res_link" href="http://www.flickr.com/photos/[email protected]/4416648216/"> 
<a class="high_res_link no_pop" href="http://oix.tumblr.com/image/72876442290"> 
… 

我希望能夠單獨提醒各HREF。而不是目前他們都一一提醒。例如通過去alert(href[1]),它只是提醒:http://www.flickr.com/photos/websterk3/6637215599/sizes/o/(第一個鏈接)

$('.high_res_link').each(function(){ 
var href = $(this).attr('href'); 
href = href+"sizes/o/"; 
alert(href); 
}); 

而且我也希望防止任何與類no_pop,因爲它鏈接到tumblr,而不是Flickr的。你能否爲變量href做一個規則,以便它不能包含字符串tumblr也許?

回答

0

這既是@still_learning和@Alex Shilman的答案的混合

var href = []; 
$('.high_res_link').not('.no_pop').each(function(){ 
    var h = $(this).attr('href') + "sizes/o/"; 
    href.push(h); 
}); 

alert(href[1]); 
0

each()會這樣做,遍歷每個鏈接。您想要在單擊特定鏈接時發出警報。單擊功能將在類別.high_res_link但不是類別.no_pop的元素被點擊時調用。 this關鍵字指的是觸發該功能的元素,因此它將根據所點擊的鏈接顯示相應的警報。

$('.high_res_link').not('.no_pop').click(function(e){ 
     var href = $(this).attr('href'); 
     href = href+"sizes/o/"; 
     alert(href); 
     e.preventDefault(); 
    }); 

FIDDLE

+0

什麼,如果我想第二個' '標籤? – maxisme

+0

你的意思是它會在一個警報中顯示2個警報或2個鏈接? – Sionnach733

+0

如果我希望它只顯示第二個鏈接 – maxisme

0

你可以試試這個,

$(function(){ 
$('.high_res_link').not('.no_pop').click(function(e){ 
    var href = $(this).attr('href'); 
    href = href+"sizes/o/"; 
    alert(href); 
    e.preventDefault(); 
}); 
}); 

HTML:

<a class="high_res_link" href="http://www.flickr.com/photos/websterk3/6637215599/"> 
link1</a> 
<a class="high_res_link" href="http://www.flickr.com/photos/[email protected]/4416648216/"> 
    link2</a> 
<a class="high_res_link no_pop" href="http://oix.tumblr.com/image/72876442290"> 
link3</a> 

演示:http://jsfiddle.net/3Vycs/1/

0

試試這個:

$('.high_res_link').not('.no_pop').each(function(){ 
var href = $(this).attr('href'); 
href = href+"sizes/o/"; 
alert(href); 
}); 

Demo

0

使用一個額外的數組:

var href = []; 
$('.high_res_link :not(.no_pop)').each(function(){ 
    var h = $(this).attr('href') + "sizes/o/"; 
    href.push(h); 
}); 

alert(href[0]); 
0

可以在每個鏈接的點擊事件中使用函數如下

$(function(){ 
$('.high_res_link').click(function(){ 
    var href = $(this).attr('href'); 
    href = href+"sizes/o/"; 
    alert(href); 
}); 
}); 

如果你想提醒特定c鏈接。例如,如果你想警惕第二鏈路,使用下面的編碼

$(function(){ 
    $('.high_res_link').eq(1).click(function(){ 
     var href = $(this).attr('href'); 
     href = href+"sizes/o/"; 
     alert(href); 
    }); 
    }); 
+0

'.hasClass'返回一個布爾值! – undefined

+1

@BlackSheep對不起朋友......現在我糾正了我的錯誤。 – Haji

相關問題