Почему этот jquery не работает? - PullRequest
0 голосов
/ 10 ноября 2010
$(function () {

    if($('body').find('#slideshow')) {
        $('body').find('.topBox').addClass('home');   
    }

});

Я имею в виду, что это работает, но если я достану #slideshow, он все равно добавит класс?

Я пытался еще удалить класс.

Ответы [ 3 ]

2 голосов
/ 10 ноября 2010

Если вы хотите проверить существование элемента, вы можете использовать свойство .length для этого селектора элемента.

А как насчет этого кода

if ($("#slideshow").length > 0)
{
    $('.topBox').addClass('home'); 
}
1 голос
/ 10 ноября 2010
if($('body').find('#slideshow')) {}

всегда будет оцениваться как истина.$ ('body'). find ('# slideshow') действительно возвращает что-то: объект (даже если это пустой объект).Вместо этого проверьте длину объекта:

if($('body').find('#slideshow').length) {}
1 голос
/ 10 ноября 2010

Возвращаемое значение из jQuery('body').find(...) всегда будет истинным, поскольку оно возвращает объект jQuery.

Вы хотите проверить, возвращает ли он какие-либо элементы, которые соответствуют, поэтому вы хотите:

if(jQuery('body').find(...).size())
...