2010-07-02 5 views
2

나는 해당 URL을 기반으로 이미지를 선택 묶는 합니다만, 어떤 이유로 그것을 볼 재생 아니에요 : 같은 후경로/URL을 기반으로 이미지를 선택하려면 어떻게해야합니까?

가 궁극적으로 난을 :

var imgs = $("img[@src='images/object.png']:not(:hidden)"); 

그러나 심지어 같은 간단한 뭔가 :

$("img[@src='images/object.png']"); 

이 오류는 throw됩니다. "TypeError : 개체가이 속성 또는 메서드를 지원하지 않습니다." 내가 쿼리에서 @ 생략하면

는 :

$("img[src='images/object.png']"); 

을 나는 어떤 항목을 반환받을. 런타임에 생성 된 HTML에서 직접 경로를 복사하여 붙여 넣었으나 항목을 반환하지 않습니다. src selector를 id selector로 바꾸면 항목을 반환합니다.

<img id="ctl00_ContentPlaceHolder1_object_1" src="images/object.png" style="height:16px;width:16px;border-width:0px;visibility:visible;display:inline;margin-right:3px;" /> 

내가 jQuery를 1.4.2을 실행하는거야 내가 모든 문서를 확인 한 모든 올바르게 코딩 할 나타납니다

런타임에서 생성 된 이미지 태그입니다. 나는 이것이 버그는 아니지만 내 부분에 대한 오해라고 가정하고 있습니다. 그녀는 누구든지 이것에 대해 어떤 생각을 할 수 있습니까?

건배

+0

'src * = images/object.png'와 일치하는 부분 문자열? –

답변

7

@ 사용하고도 전체 쿼리를 포함해야하지 마십시오. 하나 있으면.

$("img[src='/images/marketing/logo.png?1277792289']")[0] 

당신은 하위 문자열뿐만 아니라

$("img[src*='logo']")[0] 

일치 할 수 그리고 :not 선택이 잘못된 위치에 있습니다. 속성 대괄호 안에 있으면 안됩니다.

$("img[src*='logo']:not(:visible)")[0] 
+1

': not (: hidden)'은 다음과 같이']'밖에 있어야합니다 :'img [src = 'images/object.png'] : not (: hidden)' – casablanca

+0

정답으로 답을 추가하십시오. –

+0

@casablanca : 이것은 내 원래 코드에서 내 질문에 대한 글에서 소개 된 오류입니다. 나는 그것을 나의 모범으로 고쳤다.혼란에 대해 죄송합니다. – BenAlabaster

1

이전에는 jQuery의 버그 였지만 분명히 그렇습니다.

체크 아웃 다음 티켓 : 당신이 attributeEndsWith을 사용하는 경우 작동 무엇을 본질적으로

($) 또는 attributeContains (*) 선택기 se jQuery는 이미지 src 속성에 입력 한 내용과 문자열을 정확하게 비교하지 않지만 전체 url 경로 (예 : http : // ..... /images/object.png)에 비교합니다.

관련 문제