Run
Run

Reputation: 57176

jquery filter: get the first match only?

I want to find a match in the link's url and then do something about that link, such as changing it colour, etc.

$("a").filter("[href*='id=10']").css({color: 'red'});

html,

<a href="http://website.come/folder/file.php?id=9&ajax=true">0</a>
<a href="http://website.come/folder/file.php?id=10&ajax=true">1</a>
<a href="http://website.come/folder/file.php?id=20&ajax=true">2</a>
<a href="http://website.come/folder/file.php?id=30&ajax=true">3</a>
<a href="http://website.come/folder/file.php?id=10&ajax=true">11</a>

But I have two matches in the links list and I just want the first match. What should I add to the jquery code?

jsfiddle

Upvotes: 8

Views: 8061

Answers (4)

Pieter
Pieter

Reputation: 1833

$("a").filter("[href*='id=10']:eq(0)").css({color: 'red'});

0 can be every int of course.

http://jsfiddle.net/ygFDM/

Upvotes: 1

user2568107
user2568107

Reputation:

Use the psuedo class first:

$("a").filter("[href*='id=10']:first").css({color: 'red'});

Upvotes: 1

Lucas Willems
Lucas Willems

Reputation: 7063

Try this :

$("a").filter("[href*='id=10']").first().css({color: 'red'});

And if you want, you can also do that :

$("a[href*='id=10']").first().css({color: 'red'});

Upvotes: 8

Amit
Amit

Reputation: 15387

Try this

 $("a").filter("[href*='id=10']:first").css({color: 'red'});

Demo

Upvotes: 1

Related Questions