Странное поведение jquery
Здравствуйте!
Приключилась странная проблема, не работает объект this. В частности если взять элементарный пример: <div onClick="myfunction()" title="bla-bla">Моя функция</div> и создать функцию вида:
function myfunction(){
alert($(this).attr('title'))
}
то в ответ не получаю ничего, не ошибки, не алерта. если взять функцию:
function myfunction(){
alert($(this))
}
Получаю [object Object] если:
function myfunction(){
alert(this)
}
получу [object Window] Такое впечатление что объект this просто теряется. Впервые сталкиваюсь с такой проблемой, подскажите пожалуйста в какую сторону копать. |
Передавайте объект через аргумент ф-ции:
function myfunction(a) {
alert(a);
}
myfunction(this); В предпоследнем коде this равен window, так же как и в последнем, просто ф-ция $() делает jQuery-объектом всё, что в неё передали, и поэтому выдаёт [object Object]. Нетрудно догадаться, что во втором коде вы пытаетесь забрать title у window. |
Через передачу объекта в качестве аргумента функции все заработало, но может подскажете в чем причина такого поведения у скриптов?
Раньше все делал точно так же, но таких проблем не было. |
Я же всё объяснил в пред. посте…
|
| Часовой пояс GMT +3, время: 07:26. |