2015-06-04 4 views
0

новичок Javascript, но при попытке основной «если еще» заявление и не может заставить его работать ...Javascript If-другое заявление

$(function() { 
    if ($('.feature:contains("Firmness Rating 1")')) { 
    $('#firm').css({'background-image': 'url(firmness1.png)'}).text('Firmness Rating 1'); 
    } 
    if ($('.feature:contains("Firmness Rating 2")')) { 
    $('#firm').css({'background-image': 'url(firmness2.png)'}).text('Firmness Rating 2'); 
    } 
    if ($('.feature:contains("Firmness Rating 3")')) { 
    $('#firm').css({'background-image': 'url(firmness3.png)'}).text('Firmness Rating 3'); 
    } 
    if ($('.feature:contains("Firmness Rating 4")')) { 
    $('#firm').css({'background-image': 'url(firmness4.png)'}).text('Firmness Rating 4'); 
    } 
    if ($('.feature:contains("Firmness Rating 5")')) { 
    $('#firm').css({'background-image': 'url(firmness5.png)'}).text('Firmness Rating 5'); 
    } 
    else { 
    $('#firm').css({'background-image': 'url(firmness1to5.png)'}).text('Choose your perfect firmness'); 
} 
}); 

Я знаю, что должен быть Бетт способ сделать это , пожалуйста, помогите :)

Благодаря

P

+2

'JQuery()' возвращает объект, даже если оно не найти что-нибудь, так просто проверка на 'jQuery (...)' всегда будет правдой, проверьте ее длину, то есть: 'jQuery (...). length' –

ответ

0

Попробуйте

$(function() { 
    if ($('.feature:contains("Firmness Rating 1")').length) { 
     $('#firm').css({'background-image': 'url(firmness1.png)'}).text('Firmness Rating 1'); 
    } 
    else if ($('.feature:contains("Firmness Rating 2")').length) { 
     $('#firm').css({'background-image': 'url(firmness2.png)'}).text('Firmness Rating 2'); 
    } 
    else if ($('.feature:contains("Firmness Rating 3")').length) { 
     $('#firm').css({'background-image': 'url(firmness3.png)'}).text('Firmness Rating 3'); 
    } 
    else if ($('.feature:contains("Firmness Rating 4")').length) { 
     $('#firm').css({'background-image': 'url(firmness4.png)'}).text('Firmness Rating 4'); 
    } 
    else if ($('.feature:contains("Firmness Rating 5")').length) { 
     $('#firm').css({'background-image': 'url(firmness5.png)'}).text('Firmness Rating 5'); 
    } 
    else { 
     $('#firm').css({'background-image': 'url(firmness1to5.png)'}).text('Choose your perfect firmness'); 
    } 
}); 

Если вы хотите, чтобы спрямленные фразы if, используйте else if.

Кроме того, чтобы проверить, можно ли выбрать какой-либо элемент jQuery, используйте $(selector).length, который возвращает количество согласованных элементов. if(number) возвращает true с положительным значением и false с 0 или отрицательным. Итак, если ваш селектор соответствует любым элементам, if($(selector).length) возвращает true.

+0

Каждый день школьный день :) Awesome - отлично работает! Спасибо! –

0

Не используйте ìf, как вы использовали его:

if(some condition){ 
    run code 
} 
if(some condition){ 
    run code 
} 

Вместо этого:

if(some condition){ 
    run code 
} 
else if(some condition){ 
    run code 
} 
Смежные вопросы