2014-04-25 1 views
1

요소의 배경 이미지를 기반으로 요소를 선택하려고합니다. 그 이미지는 인라인으로 정의됩니다.JQuery가 배경 이미지의 URL을 기반으로 요소를 선택합니다.

<div class="el" style="background-image:url(http://cl.ly/010.jpg);"></div> 

저는 이미 일반적인 해결책을 사용했지만 결과는 없었습니다.

$('.el').each(function() { 
    if ($(this).css('background-image') === 'http://cl.ly/010.jpg') console.log('found it'); 
}); 

또는

var current = $('.el').css('background-image', 'url(http://cl.ly/010.jpg)'); 

jQuery를 이미지를 찾을 수 없습니다. 나는 심지어 모든 요소를 ​​하나씩 반복하려고 시도했고 URL을 두 번 확인했습니다. 지금까지 모든 것이 잘 보입니다.

어떤 아이디어가 잘못되었을 수 있습니까?

+0

HTML을 표시 할 수 있습니까? – Evan

+0

@evan 위와 같이 동일한 클래스와 배경 이미지가있는 div가 여러 개 있습니다. –

답변

1

검색 url() 문자열로

if ($(this).css('background-image') === 'url(http://cl.ly/010.jpg)') console.log('found it'); 

을 시도 감사드립니다.

+0

답변 해 주셔서 감사합니다. 예, 포럼에서 오타를 만들었지 만 내 코드는 오타가 아닙니다. 난 당신의 솔루션을 시도하고 내가 잊어 버린 건 검색 문자열에 URL을했습니다. 간단합니다. @musa 및 공동 –

0

확인할 때 url을 포함시켜야합니다. http://jsfiddle.net/vL4pG/

$('.el').each(function(){ 
    var $this = $(this); 

    if ($this.css('background-image') === 'url(http://cl.ly/010.jpg)'){ 
     alert('found it'); 
    } 
}); 
0

사용이 :이 바이올린 확인

다음
var current = $('.el').css('background-image') === "url(http://cl.ly/010.jpg)" 


는 바이올린의 당신의 코드에 대해 Fiddle


(이미지의 다른 주소를 사용) , 첫 번째는 다음과 같이 url() 래퍼가 필요하기 때문에 올바르지 않습니다.

$('.el').each(function() { 
if ($(this).css('background-image') === 'url(http://cl.ly/010.jpg)') console.log('found it'); 
}); 


당신이 클래스에 따옴표를 없기 때문에 두 번째는 잘못이이어야한다 : 작업, 예를 들어

var current = $('.el').css('background-image', 'url(http://cl.ly/010.jpg)'); 
+0

안녕 Jason 감사합니다. 감사. 포럼에 오타가 있었습니까? 그러나 검색 문자열의 URL은 솔루션입니다. 고맙습니다. –

1

확인 this fiddle.

당신은이 라인에 .el 선택에 따옴표 누락되었습니다 :

var current = $('.el').css('background-image') === "url(http://cl.ly/010.jpg)" 

편집 : 당신은 따옴표를 고정,하지만 두 번째 코드 블록에, 당신은 단지 URL이 아닌 실제 CSS 값을했다 " url (...) ". 모양은 다음과 같습니다 :

$('.el').each(function() { 
    if ($(this).css('background-image') === 'url(http://cl.ly/010.jpg)') console.log('found it'); 
});