Javascript jQuery如果一条语句为true,而另一条语句为true?

Javascript jQuery如果一条语句为true,而另一条语句为true?,javascript,jquery,Javascript,Jquery,现在我有一个jQuery脚本,它可以查看.shipping是否有一个带有.sp方法类的子体,如果是真的,它将向下滚动到页面底部 当前工作jQuery if ($('.shipping .sp-methods').length > 0) { $('.shipping').show(); $('html, body').animate({ scrollTop: $(document).height() - $(window).height() }

现在我有一个jQuery脚本,它可以查看.shipping是否有一个带有.sp方法类的子体,如果是真的,它将向下滚动到页面底部

当前工作jQuery

if ($('.shipping .sp-methods').length > 0) {
        $('.shipping').show();
    $('html, body').animate({
        scrollTop: $(document).height() - $(window).height()
    },
    1400,
        "easeOutQuint");
}
if ($('.shipping .sp-methods').length > 0 && ! $("#shopping-cart:contains('shipping')")) {
    $('.shipping').show();
    $('html, body').animate({
        scrollTop: $(document).height() - $(window).height()
    },
    1400,
        "easeOutQuint");
}
尽管我想要的是脚本只在这样的情况下运行,如果这是真的,并且带有ID#shopping cart的元素中不包含文本“shipping”或其任何子元素。只是像这篇文章里面的文本,而不是作为一个类或任何东西。你能做到这一点吗

我试过了,运气不好

断开的jQuery

if ($('.shipping .sp-methods').length > 0) {
        $('.shipping').show();
    $('html, body').animate({
        scrollTop: $(document).height() - $(window).height()
    },
    1400,
        "easeOutQuint");
}
if ($('.shipping .sp-methods').length > 0 && ! $("#shopping-cart:contains('shipping')")) {
    $('.shipping').show();
    $('html, body').animate({
        scrollTop: $(document).height() - $(window).height()
    },
    1400,
        "easeOutQuint");
}

你应该让第二个条件遵循第一个条件的模式。 因此,请尝试检查第二个的长度:

编辑:看起来您还遗漏了
'shipping'
的一个报价,并用插入的报价更新了答案

if ($('.shipping .sp-methods').length > 0 && $("#shopping-cart:contains('shipping')").length <= 0) {
  $('.shipping').show();
  $('html, body').animate({
      scrollTop: $(document).height() - $(window).height()
  },
  1400,
      "easeOutQuint");
}

if($('.shipping.sp methods').length>0&&$(“#购物车:包含('shipping')))。length这是因为
$('something不存在”)
[]
(一个空数组)。您需要检查它的长度,以便知道搜索选择器是否成功。

出于某种原因,当我这样做时,无论元素是否包含“shipping”,它都会向下滚动到页面底部。我意识到if语句的第一行在“shipping”周围没有结束引号,而是与您一起r上面的代码和“fixed(my bad)”,它会向下滚动到底部,即使元素的某个地方包含文本shipping。@Xander然后通过输出数组
$(“#shopping cart:contains('shipping'))进行调试
在if语句中。查看条件没有触发的原因。一旦我弄明白了一些事情,这个解决方案就起作用了……我是一个大傻瓜,购物车包含“Shipping”而不是“Shipping”。哦!对不起!