Сообщение от TimohaP
|
а если таких окон десятки?
|
И? offsetParet ссылается на ближайшего позиционированного(не static) родителя. В случае с модальным окном - это обычно модальное окно и есть, если конечно не злоупотреблять с позиционированием в вёрстке.
Но на самом деле ваш подход изначльно не верен. При праильном подходе вместе с окном в DOM создаётся привязанный javascript объект, хранящий все необходимые данные этого конкретного окна. Никаких путешествий через родителей и детей не требуется.
Пример:
<body>
<input type="text" value="Text text text text">
<input type="button" value="new" onclick="new Modal(previousElementSibling.value)">
<script>
function Modal(text){
var modal = document.createElement('div');
modal.innerHTML = text;
var close = document.createElement('button');
close.innerHTML = 'X';
close.onclick = function(){
modal.parentNode.removeChild(modal)
}
modal.appendChild(close);
document.body.appendChild(modal);
}
</script></body>