korzystanie window.getComputedStyle
uzyskać komputerowej szerokość, a następnie wykonaj obliczenia, aby uzyskać równy procent, który spowoduje, że będzie taki sam rozmiar jak szerokość.
HTML
<div class="someDiv" style="width:900px;height:200px;">
<a class="someAnchor" style="display:block; float:left; width:35%; background:green"></a>
</div>
JS
var anchor = document.querySelector(".someDiv .someAnchor");
var astyle = window.getComputedStyle(anchor);
anchor.style.height = astyle.width; //this will make it static though
//to make it a percentage like width so it will expand and contract with resize of parent element
var pstyle = window.getComputedStyle(anchor.parentNode);
var pheight = parseInt(pstyle.height);
var awidth = parseInt(astyle.width);
anchor.style.height = ((awidth/pheight)*100)+"%";
Należy zauważyć, że element kotwica będzie większa niż wysokość div mądry, aby utrzymać go wewnątrz rodzica będzie trzeba go skalować w dół.
JSFiddle Demo
Masz na myśli to, że chcesz zmienić jego rozmiar proporcjonalnie? – Seazoux
Chce, aby wysokość była równa szerokości, gdy szerokość jest procentowa. – Bart
Cóż, mogę ustawić wysokość: auto ... Ale sprawdzę coś ..: P – Seazoux