2017-10-02 7 views
1

私は、Wordpressサイトをクラス内のヘッダにバックグラウンドで持っています。JavaScriptを使って背景画像CSSを変更する

私はハッシュタグに応じてこの背景イメージを変更するJSのビットを書き留めています。ハッシュタグのスクリプトが機能していますが、変更BGビットではありません - 助けてください... :-(

私が書かれてきたスクリプトは次のとおりです。

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

JavaScriptとJavaScriptの呼び出し方法も含めてください。 –

答えて

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

Davidさん、ありがとう、私はそれを試みましたが、まだ動作していません。 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'を閉じるものの後に'} 'を追加してください。 –

関連する問題