2009-05-07 31 views
45

Tôi cần tìm một img theo tên và src. Tôi đã cố gắng sau đây vô ích.jQuery: Cách tìm hình ảnh bằng src

var s = $("img[src='/images/greendot.gif'][name='BS']"); 

Các html:

<img alt="This item is active." name="BS" src="/images/greendot.gif"/> 

vs

<img alt="This item is not active." name="BS" src="/images/spacer.gif"/> 
+0

Theo tên và mã nguồn, bạn có cố gắng tìm nhiều hình ảnh? – TStamper

+0

bạn có thể đăng một ví dụ về html không? – Jared

+0

vâng tôi. S var sẽ là một mảng có độ dài mà tôi sẽ kiểm tra. – kjgilla

Trả lời

76

mà không nhìn thấy html Tôi có thể nói kiểm tra đường dẫn của bạn.

$("img[src$='greendot.gif'][name='BS']") 

trao HTML sau:

<img src="http://assets0.twitter.com/images/twitter_logo_header.png" name="logo" /> 

jquery này làm việc:

var x = $("img[src$='twitter_logo_header.png'][name='logo']"); 
alert(x.attr("src")); 
+5

Không cần một $ khi chúng ta có đường dẫn đầy đủ. – karim79

6

Hãy thử làm mất dấu ngoặc kép:

var s = $("img[src=../../images/greendot.gif][name=BS]"); 
+0

Điều đó không giúp được gì. – kjgilla

+0

Hãy thử với đường dẫn bạn đã hiển thị trong HTML, ví dụ: ../../images/greendot.gif. Tôi đã chỉnh sửa câu trả lời. – karim79

+0

Có một sự trộn lẫn ở đó. Ban đầu tôi đã có ../../images/greendot.gif và nó vẫn không hoạt động. Sau đó tôi chuyển sang/hình ảnh trên tự động thêm hình ảnh (js thêm) nhưng những người đi xuống từ .net nơi vẫn còn ../. Ở bất kỳ tỷ lệ nào đó về '/' trong tìm kiếm attr đã vặn vẹo mọi thứ. – kjgilla

4

duyệt thêm đường dẫn đầy đủ đến src, href và các thuộc tính tương tự. Vì vậy, mặc dù phần tử được định nghĩa với đường dẫn tương đối, trong thuộc tính DOM 'src' chứa tên miền và đường dẫn đầy đủ. Sử dụng cú pháp [src $ = "..."] hoặc chỉ định tên miền đầy đủ dường như chỉ là các tùy chọn để tìm hình ảnh bằng src với jQuery.


Tôi có thể sai ở đây. Thuộc tính src của đối tượng hình ảnh báo cáo đường dẫn đầy đủ, nhưng thuộc tính phải chứa đường dẫn như được chỉ định trong mã. [src = "relative/path"] hoạt động trong phiên bản jQuery mới nhất, có thể đó là phiên bản đầu tiên mà nó không hoạt động.

0

Thay đổi thẻ img của bạn như thế này:

<img src="path/to/imgage/img.jpg" title="img.jpg" /> 

tôi muốn nói thêm vào thuộc tính hình ảnh tiêu đề của bạn và đặt chúng tên của tập tin.

Khi bạn cần truy cập hình ảnh sertain bạn có thể làm điều đó như sau:

//Finding image that you need using 'title' attribute; 
var imageTag = $("img[title='imageName']"); 

//Then if you need to do something with it; 
imageTag.attr('src', 'path/to/newImage/newImage.jgp'); 
imageTag.attr('title', 'newImage.jpg'); 
+0

Tại sao những người bỏ phiếu xuống, nó không phải là một cách thanh lịch để da mèo này nhưng hey! đó là một con mèo không da. – qualebs

Các vấn đề liên quan