Es ist möglich, eine abstrakte Kopie meines Dokumentbaums zu erstellen, der auch von der CSS-Engine gehört wird?Kann ich ein abstraktes Dokument erstellen, das von der CSS-Engine gehört wird?
Was meine ich mit "gehört von CSS Engine?" Wenn ich einem Element dieses abstrakten Dokuments eine ID, eine Klasse oder ein Attribut hinzufüge, muss der CSS-Selektor einfach die Eigenschaftswerte des Elements wie im echten DOM ändern, und ich muss auf diese Werte zugreifen können, indem ich den getComputedStyle
Methode
ex. [CSS]
a {
color: red;
}
.bar {
color: blue;
}
ex. [DOM]
<a href="#">Lorem</html>
ex. [JavaScript]
var copiedDocument = document.copy();
var abstractLink = copiedDocument.getElementsByTagName('a')[0];
/* RETURN => red */
getComputedStyle(abstractLink).getPropertyValue("color");
abstractLink.setAttribute("class", "bar");
/* MUST RETURN => blue */
getComputedStyle(abstractLink).getPropertyValue("color");
Warum setzen Sie sie nicht benutzen nur im DOM, sondern verstecken sie mit 'display: none;'? Abgesehen von den Größeneigenschaften sollten alle CSS-Eigenschaftenabfragen funktionieren. – Barmar
@Barmar, ich möchte Eigenschaftswerte von Elementen in verschiedenen Situationen kennen, ohne die Eigenschaften der realen Elemente zu beeinträchtigen. – user123123123
@Oriol, document.copy ist nur ein Beispiel, es muss eine ABSTRACT COPY des realen Dokuments sein. – user123123123