现在我有一个jQuery脚本,看看if .shipping是否有一个带有.sp-methods类的后代,如果它是真的,它会向下滚动到页面的底部。
当前正在运行的jQuery
if ($('.shipping .sp-methods').length > 0) {
$('.shipping').show();
$('html, body').animate({
scrollTop: $(document).height() - $(window).height()
},
1400,
"easeOutQuint");
}
虽然我想要的是脚本只运行,如果那是真的并且带有ID#shopping-cart的元素不包含文本“shipping”或其任何后代。只是像这个运输里面的文字,而不是作为一个类或任何东西运输。可以包含吗?
我试过这个没有运气
破解jQuery
if ($('.shipping .sp-methods').length > 0 && ! $("#shopping-cart:contains('shipping')")) {
$('.shipping').show();
$('html, body').animate({
scrollTop: $(document).height() - $(window).height()
},
1400,
"easeOutQuint");
}
答案 0 :(得分:1)
你应该让第二个条件遵循你的第一个条件。 所以试着检查第二个的长度:
编辑:看起来你也错过了'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");
}
答案 1 :(得分:0)
那是因为$("somethingNonExistent")
是[]
(一个空数组)。您需要检查其长度,以便了解搜索选择器是否成功。