今天我們來討論一下,怎樣獲取某個id下所有元素的css樣式。
首先,我們需要知道獲取元素樣式的方法。有兩種方式:
//方法一:使用window.getComputedStyle()方法 var element = document.getElementById('myId'); var style = window.getComputedStyle(element); console.log(style); //方法二:使用element.style屬性 var element = document.getElementById('myId'); console.log(element.style);
接下來,我們來看看如何獲取某個id下所有元素的css樣式。我們需要使用querySelectorAll()方法,以獲取并遍歷元素列表。
var elements = document.querySelectorAll('#myId *'); for(var i = 0; i< elements.length; i++){ var style = window.getComputedStyle(elements[i]); console.log(style); }
上述代碼中,querySelectorAll()方法會選擇所有在#myId下的元素。我們需要使用*通配符,以獲取所有后代元素。隨后,我們使用window.getComputedStyle()方法來獲取每個元素的樣式。
最后,我們可以將所有元素的樣式保存至一個對象中。
var styles = {}; var elements = document.querySelectorAll('#myId *'); for(var i = 0; i< elements.length; i++){ var style = window.getComputedStyle(elements[i]); styles[elements[i].tagName] = {}; for(var j = 0; j< style.length; j++){ var property = style[j]; var value = style.getPropertyValue(property); styles[elements[i].tagName][property] = value; } } console.log(styles);
上述代碼中,我們創建了一個名為styles的對象,以保存所有元素的樣式。接著,我們使用第一個循環在styles對象中創建了每個元素的標簽名作為新的子對象。然后,我們使用第二個循環,獲取每個樣式屬性的名稱和值,并將其存儲在子對象中。
這樣,我們就能獲取到某個id下所有元素的css樣式了!
上一篇mysql中文變繁體
下一篇mysql中文命名數據表