2017-10-02 3 views
1

나는 클래스 내부의 헤더에 배경이있는 Wordpress 사이트를 가지고있다.자바 스크립트로 배경 이미지 CSS 변경

해시 태그에 따라이 배경 이미지를 변경하기 위해 JS를 약간 작성해야합니다. 해시 태그 스크립트가 작동하지만 변화 BG 비트가 아닌 - :-(...

내가 writen 한 스크립트를 도와주세요 것은 :

document.getElementsByClassName("eut-bg-image").style.backgroundImage = "url(https://boutiqueballer.com/wp/wp-content/uploads/2017/10/chanel.jpg)"; 
})(); 
+1

또한 자바 스크립트가 호출되는 방법과 위치를 포함하십시오. –

답변

4

getElementsByClassName 요소의 컬렉션을 산출 개인. 컬렉션의 요소는 style 재산이 아닌 콜렉션 자체가 그냥 하나 개의 요소를 대상으로하는 경우에는 인덱스로 액세스 할 수 있습니다. 여러 요소를 대상으로하는 경우

document.getElementsByClassName('eut-bg-image')[0].style.backgroundImage = ...; 

, 당신이 그들을 반복 할 수 있습니다

var elements = document.getElementsByClassName('eut-bg-image'); 
for(var i = 0; i < elements.length; i++) 
    elements[i].style.backgroundImage = ...; 

또는 필요한 브라우저 호환성 수준에 따라 document.querySelector을 사용할 수 있습니다. 그런 다음 컬렉션을 원할 경우 document.querySelectorAll을 구별하고 첫 번째 일치 만 원하는 경우 docment.querySelector을 구별 할 수 있습니다. CSS 선택기를 허용합니다.

document.querySelector('.eut-bg-image').style.backgroundImage = ...; 
+0

데이비드 고맙다. 나는 그걸 시도했지만 여전히 일하지 않는다. https://boutiqueballer.com/wp/suppliers-faq –

+0

document.getElementsByClassName ('eut-bg-image-id-2313') [0] .style.backgroundImage = "url (https://boutiqueballer.com/wp) /wp-content/uploads/2017/10/chanel.jpg) "; }})(); –

+0

소스를 살펴보면 렌더링 된 소스의 896 행은 단지'})(); '이지만 일치하는 여는 괄호는 없습니다. 전체 줄을 제거하면 구문 오류가있는 것 같습니다. 그런 다음 더 아래로, 당신은'if (window.location.hash) {'이 닫혀 있지 않습니다. 내부의'if'를 닫는 뒤에'}'를 추가하십시오. –