CSSまたは要素のバックグラウンドプロパティを使用して設定されたすべてのhtmlページ要素の背景イメージを取得します。javascriptを使用してhtmlで要素の背景イメージを取得する方法
どうすればjavascriptを使用できますか?
CSSまたは要素のバックグラウンドプロパティを使用して設定されたすべてのhtmlページ要素の背景イメージを取得します。javascriptを使用してhtmlで要素の背景イメージを取得する方法
どうすればjavascriptを使用できますか?
getStyle()
機能はhttp://www.quirksmode.org/dom/getstyles.html#link7(少し修正)から取られました。
もちろん、DOMの準備が整っていることを確認する必要があります。簡単な方法は、スクリプトをページの一番下、つまり閉じた</body>
タグの内側に配置することです。
<script type="text/javascript">
function getStyle(x, styleProp) {
if (x.currentStyle) var y = x.currentStyle[styleProp];
else if (window.getComputedStyle) var y = document.defaultView.getComputedStyle(x, null).getPropertyValue(styleProp);
return y;
}
// Get all elements on the page
var elements = document.getElementsByTagName('*');
// store the results
var results = [],
i = 0,
bgIm;
// iterate over the elements
for (;elements[i];i++) {
// get the background-image style property
bgIm = getStyle(elements[i], 'background-image');
// if one was found, push it into the array
if (bgIm && bgIm !== 'none') {
results.push(bgIm);
}
}
// view the console to see the result
console.log(results);
</script>
画像自体のパスが必要なように聞こえました。
あなたは、実際の要素、変更たい場合は:に
results.push(bgIm);
を:要素の現在有効なスタイルを取得
results.push(elements[i]);
はい画像へのパスが必要です –
@ M.B.Asfoor:これはうまくいくと思います。試してみる。 IEの修正を加える必要があるかもしれません。 – user113716
古いIEのバージョンや他のブラウザとの間にたくさん変わる - これはありますDOMフレームワークが実際に多くの問題を救うことができるケースの1つです。 – Pointy
domフレームワークを使ってどうすればいいですか? –