2016-12-09 52 views

Odpowiedz

5

Można iteracyjne document.styleSheets, .cssRules, jeśli .selectorText odpowiada selektor elementu, wybierz regułę z .style własności

window.onload = function() { 
 
    var element = document.getElementById("image_1"); 
 
    var prop = "top"; 
 
    var styles = document.styleSheets; 
 
    for (var j = 0; j < styles.length; j++) { 
 
    var rules = document.styleSheets[j].cssRules; 
 
    for (var i = 0; i < rules.length; i++) { 
 
     if (rules[i].selectorText === "#" + element.id) { 
 
     console.log(rules[i].style[prop]) 
 
     } 
 
    } 
 
    } 
 
}
#image_1 { 
 
    position: absolute; 
 
    top: 3vw; 
 
}
<div id="image_1">hello</div>

+0

Czy to zadziała, nawet jeśli selektor nie jest taki sam? –

+0

@PraveenKumar Nie jesteś pewien co masz na myśli? – guest271314

+0

Tutaj bezpośrednio pasujesz do '# image_id'. A co, jeśli selektor w CSS to '.image img' czy coś takiego? Czy to rozwiązanie działa? –