jQuery选择器,用于链接到容忍查询字符串的图像

时间:2012-02-29 15:31:17

标签: jquery image jquery-selectors hyperlink query-string

我正在寻找一个jQuery选择器来查找图像的所有链接,这很简单,比如说,

$('a[href$="jpg"], a[href$="jpeg"], a[href$="png"], a[href$="gif"]')

但如果我的链接附加了一个查询字符串,则会中断,如下所示:

<a href="http://example.com/image1.jpg?1737892">link</a>

有没有办法选择上面所有的图片链接,但如果图片链接的末尾有一个查询字符串,它仍会有效?

2 个答案:

答案 0 :(得分:5)

这种中断的原因是因为选择器的$部分意味着它只在jpg的末尾寻找href。请改用包含选择器(*),并包含扩展名的点:

$('a[href*=".jpg"], a[href*="jpeg"], a[href*=".png"], a[href*=".gif"]')

但请注意,这意味着它也会匹配以下网址:

http://mysite.com/fakelink.jpg.aspx
http://mysite.com/page.php?param=image.jpg

因此,即使不太可能发生此类可能性,您也不能100%保证选择图像链接。

Example fiddle

答案 1 :(得分:4)

您可以将.添加到表达式中,如“.jpg”中所示,然后使用*=

$('a[href*=".jpg"], a[href*=".jpeg"]')