2017-04-11 6 views
0

ich mit einem anderen ein vorhandenes beliebiges Element abdecken wollen. Alle vorhandenen Antworten, die ich gefunden habe, erfordern, dass das zu bedeckende Element eine relative Position hat. Allerdings habe ich das nicht unter Kontrolle.Abdeckung ein beliebiges Element mit einem anderen

Zum Beispiel gegeben ein p-Element, will ich es ganz mit einem div-Elemente abzudecken. Das p-Element darf keine relative Position haben.

Ist das möglich? Wenn ja, wie kann ich dies erreichen (vorzugsweise ohne jQuery)?

Dank!

+0

SO können Sie den Stil nicht anpassen, um die relative Position hinzuzufügen? – epascarello

+0

Muss es ein einzigartiges Element sein? ergo, kein ': before' oder': after' Tricks – Roberrrt

+0

@epascarello Ich mache mir Sorgen, diese die Seite ändern kann, ist dies nicht etwas ist, darf ich tun. Ich versuche, ein Element zu „markieren“, wie auf dem Chrome-Entwickler-Tool durchgeführt, ohne dass die betreffende Seite zu ändern. – mikeecb

Antwort

0

Credit @epascarello.

var elementToCover = ...; 
var rect = elementToCover.getBoundingClientRect(); 

var overlayElement = document.createElement("div"); 

overlayElement.style.position = "absolute"; 
overlayElement.style.zIndex = "999"; 
overlayElement.style.top = rect.top + "px"; 
overlayElement.style.left = rect.top + "px"; 
overlayElement.style.width = (rect.right - rect.left) + "px"; 
overlayElement.style.height = (rect.bottom - rect.top) + "px"; 
Verwandte Themen