Ошибка Jquery Firefox при поиске position() в DIV
Вопрос
Я столкнулся со странной проблемой с Firefox, у меня есть тег DIV с ID ="popup_layer".Я использую Jquery, чтобы найти этот DIV, который работает нормально :
var rightPosition=$j("#popup_layer")
Но когда я пытаюсь найти положение DIV:
var rightPosition=$j("#popup_layer").position().left;
Я получаю следующее исключение в Firebug:
[Исключение..."Не удалось преобразовать аргумент JavaScript arg 0 [nsIDOMViewCSS.getComputedStyle]" nsresult:местоположение "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)":"Фрейм JS :: http://localhost:20094/Scripts/CombineJS.ashx?JSFiles=/Scripts/jquery-1.2.6.min.js;%20%20%20%20/Scripts/PDP/newModalBox.js;%20%20%20%20/Scripts/CookieHelpers.js;%20%20%20%20popupLayer.js;%20%20%20%20/BE/Scripts/scripts.js;::Аноним ::строка 23 "данные:нет]
Решение 2
По какой-то причине, когда я удаляю стиль в своем div, он начинает работать
<div id="popup_layer" style="display:none;">
Для
<div id="popup_layer">
совершенно странно !
Другие советы
Вы не можете получить размеры или положение элемента DOM с помощью display:none
.По определению, элемент не должен существовать, отображаемый на странице, следовательно, он не занимает места.
Я предлагаю изначально оставить ваш элемент видимым, получить нужные размеры, а затем применить "display:none
" после того, как вы закончите его измерять.
В качестве альтернативы вы могли бы использовать "visibility:hidden
" вместо этого.