Показать сообщение отдельно
  #1 (permalink)  
Старый 03.12.2011, 19:35
Аспирант
Отправить личное сообщение для jsuse Посмотреть профиль Найти все сообщения от jsuse
 
Регистрация: 10.04.2010
Сообщений: 92

event.target и else/if. Почему не соответствуют типы объектов?
Собственно вопрос, как сделать, чтоб типы соответствовали?

Есть такой код:
$("#div1, #div2, #div3").bind("click", function(event) {
var e = event;
var targetElem = e.target;
	
alert(e + targetElem);    // работает, выводит [object Object] [object HTMLDivElement]
alert($("#div1"));        // работает, выводит [object Object]
	
// здесь я хочу отловить таргет на элементе div1
// вроде по синтаксису все правильно написал, а он не работает
if (targetElem == $("#div1")) {
   alert("это div1");
}
});
Видно, что targetElem не соответствует $("#div1").
targetElem - это [object HTMLDivElement]
$("#div1") - это [object Object]

Но в JS такое условие работает, он распознает соответствие:
if (targetElem == document.getElementById("div1"))

А в jQuery это оказываются разные объекты. А как сделать, чтобы не прибегать к JS, а сравнить с таргетом, используя именно синтаксис jQuery?
Ответить с цитированием