stolkramaker
stolkramaker

Reputation: 51

What is the opposite of Jquery .not - OR - How to I target href links that contain the following

Right. So here we go.

I am currently using the following code to target all links and apply an iframe toolbar

$("a[href^='http:']").not("[href*='www.domiain.com']").not("[href*='www.twitter.com']").each(function(){ 
 var tempurl = 'http://www.domain.com/shiftbar/shiftbar.html?iframe=';
 var $this = $(this);
 var currenturl = this.getAttribute("href");
    var href = tempurl + currenturl;
 $this.attr('href', href ); 
});

I need to do the same, but now for links that ONLY contain twitter

$("a[href^='http:']").contains("[href*='www.twitter.com']").each(function(){ 
 $this.attr("target", "_blank");
});

it doesn't work. I've tried

.has
.contains

But I suppose I am not familiar with jquery enough at this point.

Upvotes: 2

Views: 2714

Answers (3)

stolkramaker
stolkramaker

Reputation: 51

I've managed to get this working using

$("a[href^='http:']").filter("[href*='www.twitter.com']").attr('target','_blank');

Using the .each function seemed to bug out especially when applying the .attr

Upvotes: 1

great_llama
great_llama

Reputation: 11729

Use .filter just like you are in your non-working example.

Upvotes: 3

RoToRa
RoToRa

Reputation: 38400

$("a[href^='http:'][href*='www.twitter.com']")

or

$("a[href^='http://www.twitter.com']")

Upvotes: 3

Related Questions