2012-05-29 2 views
0

У меня есть кнопка, в которой мне нужно применить класс, если значение, полученное из базы данных, пустое. Я думаю, что есть что-то не так с моим синтаксисом в следующем коде:jQuery условная кнопка

$(document).ready(function(e) { 
    var videoURL = '<?php echo $row_rs_dealItem['video']; ?>'; 
    if ($videoURL == "") { 
     $('#video').addClass('invisible'); 
    } 
    else { 
     $('#video').click(function(e) { 
      $('#imageMain').html('<iframe class="youtube-player" type="text/html" width="435" height="244" src="' + videoURL + '" frameborder="0"></iframe>'); 
      $('.featuredOverlay').hide(); 
     }); 
    }); 
});​ 

ответ

0

Если есть существующий класс, который нужно использовать removeClass первой или попробовать toggleClass.

+0

не существующего класса. –

+0

, и вы не наследуете от чего-то тогда? – RedEyedMonster

1

Не должно быть, если (videoURL == "") вы добавили знак доллара, который является соглашением jquery для «это инкапсулированный объект jQuery», но такой переменной не существует.

+0

Спасибо, я удалил его, но все еще кажется, что-то не так, поскольку класс не применяется. –

+0

Вы пытались эхом отослать URL? убедитесь, что он действительно пуст и не содержит пробелов и т. д. –

0

Вы объявили переменную как 'videoURL'

var videoURL 

, а затем вы пытаетесь сравнить с $ до того 'videoURL'

if ($videoURL == "") 
+0

спасибо ... см. выше комментарий –

+0

Попробуйте переключить строку ' 'to "". Вы видите ошибки в вашем браузере. Вы также можете добавить: alert (videoURL); после того, как ему назначено посмотреть, что его значение –

+0

без изменений, но спасибо –

0

videoURL не элемент JQuery так, изменение $ videoURL в videoURL ,

Попробуйте принуждая содержание PHP или использовать console.log для отладки данных

var videoURL = "a string"; 
console.log(videoURL); 

https://jsfiddle.net/ex3ntia/qmemmkp4/1/

Смежные вопросы