Новичок застрял на вопрос JQuery ... условное заявление - PullRequest
2 голосов
/ 30 ноября 2010

Итак, я полный новичок и застрял на условном утверждении. Вот мой код:

<script type="text/javascript">
$(document).ready(function(){
 if($('span.fc_cart_item_price_total') == 0) {
  $(span.fc_info).addClass('foo');
 };
});
</script>

Поэтому я пытаюсь увидеть, имеет ли span с классом "fc_cart_item_price_total" значение "0", чтобы затем добавить класс "foo" в диапазон с классом ".fc_info". Этот код выше не работает. Вот HTML-код:

<span class="fc_info">Info 1</span><br />
<span class="fc_cart_item_price_total">$0.00</span><br />
<span class="fc_info">Info 2</span>

Вот еще один вызов, который у меня есть. Я пытаюсь выбрать диапазон со значением «fc_info» перед диапазоном с классом «fc_cart_item_price_total», но не знаю, как просто выбрать этот один диапазон.

Ответы [ 5 ]

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

Сравнение с 0 не лучшее, что вы можете сделать. Попробуйте вместо этого:

if (!parseFloat($('.fc_cart_item_price_total').text()) {
....

Используйте ParseInt или ParseFloat в зависимости от ожидаемых данных.

1 голос
/ 30 ноября 2010

Для каждого элемента корзины, цена которого составляет $ 0,00, это добавит класс «foo» к предыдущему (и только предыдущему) fc_info.

$(function() {
    $(".fc_cart_item_price_total:contains($0.00)").each(function(i, n) {
        (n=$(n)).prevAll(".fc_info:first").addClass("foo");
    });
});
0 голосов
/ 30 ноября 2010

ниже должно работать ... пожалуйста, попробуйте

<script type="text/javascript">
    $(document).ready(function(){
     if($('.fc_cart_item_price_total').text() == 0) {
      $('.fc_info').addClass('foo');
     };
    });
    </script>
0 голосов
/ 30 ноября 2010

Чтобы сделать приведенный выше код работающим

<script type="text/javascript">
$(document).ready(function(){
 if($('span.fc_cart_item_price_total').html() == 0) {
  $(span.fc_info:first).addClass('foo');
 };
});
</script>

И выбрать первый класс fc_info

Используйте $(".fc_info:first") в качестве селектора

0 голосов
/ 30 ноября 2010

Я думаю, вам нужно вывести HTML из диапазона. Что-то вроде:

<script type="text/javascript">
$(document).ready(function(){
 if($('span.fc_cart_item_price_total').text() == 0) {
  $(span.fc_info).addClass('foo');
 };
});
</script>

Но тогда вам нужно сравнить его с "$ 0.00" или обрезать $ перед сравнением.

...