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, время: 01:46. |