js поиск div'ов по их координатам top/left
реально сделать как-то так?
var diva = document.getElementById('box').style.top = '100px' && style.left = '50px'; чтобы оно присвоило переменной адрес этого дива если он есть а если нету - создало.. |
ну по координатам можно див найти, а почему нет
|
А просто проверка есть ли div с id==box чем плоха?
if(!document.getElementById('box')) {document.body.appendChild(document.createElement('div')).style.cssText="top:100px;left:50px;position:absolute'} |
не плоха, просто задал себе такой вопрос..колупал код пол-дня и ничерта не пашет..вот теперь интерестно как это сделать
|
Цитата:
|
Тогда
if(document.elementFromPoint(100,50).className!="box") {document.body.appendChild(document.createElement('div')).style.cssText="top:100px;left:50px;position:absolute'}//Проверку лучше делать по классу, чтоб наверняка выделить именно те элементы, что вам нужны. Но вероятность 99%, что конкретно ваша проблeма решается другим способом. \upd ах да, elementFromPoint может вернуть также текстовую ноду, так что для использования надо будет немного усложнить. |
интерестно...но не то немного.
есть код <div id="map" class="map"> <div id="box" class="box" style="margin-top:0px; margin-left:0px;"></div> <div id="box" class="box" style="margin-top:100px; margin-left:200px;"></div> </div> надо найти див который margin-top:100px; margin-left:200px; и присвоить его адресс переменной короче говоря поиск дива по параметрам его стиля) |
var computedStyle = element.currentStyle || window.getComputedStyle(element, null); а, если стиль прописан inline-записью, то можно через style |
не понимаю...
|
Цитата:
Цитата:
function f(container){ var div=container.getElementsByTagName('div'),i=div.length,style; while(i--){ style=div[i].currentStyle||window.getComputedStyle(div[i], null); if(style.marginTop=='100px'&&style.marginLeft=='200px')return div[i] } return container.appendChild(document.createElement('div')).style.cssText="margin-top:100px;margin-left:200px' } Но ещё раз говорю: опишите решаемую задачу, гарантирую, что это должно делаться по другому.) |
Часовой пояс GMT +3, время: 13:20. |