Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to refer to currently selected element in jQuery?

I'm trying to make a script that would insert img element after each link to a certain site with source equal to value of href attribute of given link. This is what I came up with:

$("a[href*=site.com/img/]").after("<img src="+$(this).attr("href")+">");

Problem is, $(this) doesn't work (attr() returns undefined). Why is it? How to refer to selected link and its argument href?

like image 348
kovike Avatar asked Dec 28 '22 12:12

kovike


1 Answers

Expand it out manually with each(), eg:

$("a[href*=site.com/img/]").each (function () {
    $(this).after("<img src="+$(this).attr("href")+">");
});

You need to be in the right scope for $(this) to behave as you expect it to, jQuery needs some kind of context to set it.

like image 169
S.. Avatar answered Dec 31 '22 02:12

S..