#javascript #html #alert #identifier
#javascript #HTML #предупреждение #идентификатор
Вопрос:
Извините за простой вопрос.Учитывая следующий html
<div id="Jessica">
Alba.
</div>
и javascript:
window.onload= function()
{
var hot= document.getElementById("Jessica");
hot.onclick=function()
{
alert(hot);
}
}
Что я должен поместить между круглыми скобками, чтобы отобразить идентификатор «Джессика»? Спасибо.
Я поставил «горячий», но это неверно.
Ответ №1:
Используйте id
свойство.
window.onload= function()
{
var hot= document.getElementById("Jessica");
hot.onclick=function()
{
alert(hot.id);
}
}
Комментарии:
1. Это использует замыкание, которое может привести к проблемам с операцией при добавлении нескольких слушателей. Лучше использовать
this.id
и установить значение hot равным null , чтобы удалить замыкание. Это приводит к циклической ссылке, которая, как известно, вызывает утечки памяти в некоторых браузерах.2. @RobG — утечки памяти нет, если только они не намерены удалить элемент DOM позже (и не очистить переменную), и даже тогда это не было бы значительным, если бы они не делали это сотни раз. Я бы не стал писать это сам таким образом, но я решил ответить на вопрос как можно проще, используя наименьшее изменение в собственном коде OP.