если переменная не определена
Здравствуйте, при клике на элемент хочу создать переменную соответствующую именно этому элементу но прежде проверить на существование ее, что то не получается на выводе все равно undefined уже после создания переменной
$('.li').click(function(){ var _this=$(this).attr('id'); if ( _this.p==undefined ){ _this.p=0; alert(_this.p) } |
Если именно этому элементу, то может лучше и легче будет задать какой-нибудь атрибут данному элементу и уже в него записывать значение?
|
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> $(function (){ $('li').click(function(){ var _this=$(this).attr('id'); if ( _this.p==undefined ){ //Unhandled Error: Cannot convert '_this' to object _this.p=0; alert(_this.p); }; }); }); </script> </head> <body> <ul> <li>test</li> </ul> </body> </html> Встречный вопрос: - Где тот вывод undefined? |
Объясните подробнее он что не принимает _this за объект, и что делать в данном случае чтобы была различная переменная в зависимости от выбранного элемента, приведу код раскрывающегося меню
в котором хочу использовать данную проверку на существование переменной $('.li').click(function(){ var _this=$(this).attr('id'); if ( _this.p==undefined ){ _this.p=0; alert(_this.p) } if (_this.p==0){ $(this).find('ol').slideDown(); $(this).css('font-weight','bold'); $(this).find('li').css('background','#5f6f91') $(this).find('li').find('a').css('color','#fff') $(this).find('ol').css('font-weight','normal'); _this.p=1; } else if (_this.p==1){ $(this).find('ol').slideUp(); $(this).css('font-weight','normal'); $(this).css('background','#fff') $(this).css('color','#000') _this.p=0; } }); |
Цитата:
var _this=$(this).attr('id'); Тут _this равен некоему значению атрибута. Причем данное значение можно получить нативным var _this=this.id; |
Цитата:
- Нормально объяснить, что нужно получить в итоге... |
при клике на элемент с классом li он должен открыть список, а при повторном нажатии закрыть, поэтому придумана переменная p которая определяет открыт или закрыт список в данный момент, а привязать к id я хотел для того чтобы соседние списки не раскрывались которые тоже имеют этот же класс
|
видно надо в переменную _this просто сохранить текстовое значение атрибута id, а не объект
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 09:40. |