2012-05-15 2 views
27

나는 많은 이미지 요소를 가지고 있으며 대체 텍스트가 "예" 인 특정 이미지의 소스를 가져오고 싶습니다. jQuery로 특정 이미지 요소의 소스 얻기

나는이 시도 :

var src = $('.conversation_img').attr('src'); 

을하지만 난 그와 함께 필요로하는 하나를 얻을 수 없습니다.

대체 텍스트를 기반으로 특정 이미지 요소를 어떻게 선택합니까?

+0

오류 메시지가 표시됩니다. – Chandresh

+0

아니 메신저 첫 번째 요소를 점점 내가 요소 위치를 알고 난 단지 대체 텍스트를 알고 –

+1

여기에 남자 데모 작업 - http://jsfiddle.net/yL5cf/1/ –

답변

53

및 요소는 속성 선택기

동일 위해 jQuery를 스크립트 아래는

var src = $('.conversation_img[alt="example"]').attr('src'); 

jQuery Documentation를 참조하십시오 사용할 수 있습니다

또한 Demo

의 예를 참조하십시오

다음은 데모에 액세스 할 수없는 경우의 코드입니다.

HTML

<div> 
    <img alt="example" src="\images\show.jpg" /> 
    <img alt="exampleAll" src="\images\showAll.jpg" /> 

</div> 

SCRIPT JQUERY

var src = $('img[alt="example"]').attr('src'); 
alert("source of image with alternate text = example - " + src); 


var srcAll = $('img[alt="exampleAll"]').attr('src'); 
alert("source of image with alternate text = exampleAll - " + srcAll); 

출력은 각각의 값을 가지는

  1. 그래서

    두 경고 메시지가 될 것입니다 대체 텍스트 = 예와 이미지, 나아가 - 대체 텍스트 = exampleAll와 이미지의 \ 이미지 \ show.jpg

  2. 소스 - 이미지 \ \ showAll.jpg
+0

그것은이 형제 여야한다 : var src = $ ('img.작은 따옴표 내의 작은 따옴표가 작동하지 않기 때문에 conversation_img [alt = "example"] '). attr ('src '); –

+0

당신이'example'을 탈출하지 않고 오류가 발생하면 – Alex

+0

내 친구가 atleast에게 답을 편집 할 수있는 두 번째 줄을 바꿉니다 ... – Murtaza

2
var src = $('img.conversation_img[alt="example"]').attr('src'); 

일치하는 요소가 여러 개인 경우 첫 번째 요소의 src 만 반환됩니다. 당신은 단지 속성 값을 알고 선택하려면

+0

초 차이 : ( – Murtaza

6
$('img.conversation_img[alt="example"]') 
    .each(function(){ 
     alert($(this).attr('src')) 
    }); 

이 모두의 SRC 속성을 표시합니다 alt = 'example'인 'conversation_img'클래스의 이미지

0

특별히 이미지의 대체 텍스트가 필요하지 않은 경우 이미지의 클래스/ID를 타겟팅 할 수 있습니다.

$('img.propImg').each(function(){ 
    enter code here 
} 

나는이 문제를 알아 내려고 나이를 소비했던이 질문은 나에게 솔루션을 :) 준하지만 그것은 아주, 질문에 대답하지 압니다. 제 경우에는 특정 src로 이미지 태그를 숨길 필요가있었습니다.

$('img.propImg').each(function(){ //for each loop that gets all the images. 
     if($(this).attr('src') == "img/{{images}}") { // if the src matches this 
     $(this).css("display", "none") // hide the image. 
    } 
});