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

leg*_*ggo 2 jquery image hyperlink jquery-selectors 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>

有没有办法选择上面的所有图像链接,但如果图像链接在其末尾有一个查询字符串,它仍然可以工作?

Ror*_*san 5

这个中断的原因是因为$选择器的一部分意味着它只jpg在结束时寻找href.请改用contains selector(*),并包含扩展点:

$('a[href*=".jpg"], a[href*="jpeg"], a[href*=".png"], a[href*=".gif"]')
Run Code Online (Sandbox Code Playgroud)

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

http://mysite.com/fakelink.jpg.aspx
http://mysite.com/page.php?param=image.jpg
Run Code Online (Sandbox Code Playgroud)

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

示例小提琴