Прошу прощения, если этот вопрос уже задан. Я много пробовал. но не будет работать. Если у меня есть .div1
, то он отлично работает. но я удалил .div1
. Консоль через ошибку, как показано ниже. Как это можно решить.Uncaught TypeError: Невозможно прочитать свойство 'top' of undefined - JQuery
Uncaught TypeError: Cannot read property 'top' of undefined
HTML
<div class="div">Console error</div>
<!-- <div class="div1">Working</div>-->
<div class="div2">2</div>
JQuery
function resize() {
var position= $('.div1').offset();
var top= position.top;
var newtop = top + 60 + "px";
$('.div2').css({
'top': newtop
});
}
$(window).resize(function(){
resize();
});
window.onload = resize();
CSS
.div1
{
position:fixed;
top: 40px;
}
.div2
{
position:fixed;
}
'.div1' не существует, поэтому попытка доступа к свойству' null' всегда будет вызывать ошибку. Я не уверен, в чем проблема? –
Переименуйте класс 'div' в' div1' – Gilsha
'position' пытается найти смещение' div1', но поскольку вы его удалили, он не может его найти. Я бы предложил либо сохранить 'div1', либо положить в оператор if, который проверяет, существует ли' div1'. –