jQuery如果A长度== 0&& B长== 1做点什么

时间:2011-06-09 18:35:08

标签: jquery if-statement

如果需要,如何使此代码正常工作(A.length == 0&& B.length == 1)?

    $(function() {
if (($('.thePrices').find('.addcartforlower').length == 0 ) && ($('.exclusive').length == 1 )) {
    $('.thePrices').find('a').after($('.wb_main').addClass('winbuyerset'));
$('.thePrices').find('.wb_main').before($('#compare'));   

      }
  });

4 个答案:

答案 0 :(得分:4)

提取

$('.thePrices').find('.addcartforlower').length

变成这样的变量:

var addcartforlowerlength = $('.thePrices').find('.addcartforlower').length;

为对方做类似的事情。然后你的测试很简单:

if (addcartforlowerlength === 0 && exclusivelength === 1)

希望这会有所帮助

答案 1 :(得分:0)

试试这个......

if($('.thePrices').find('.addcartforlower').length == 0 && $('.exclusive').length == 1)
{ .... }

答案 2 :(得分:0)

好的,你的if语句没有任何问题(但在这种情况下你应该使用===而不是==),但我看到你在使用之前和之后,你的意思是什么?

after()用于在dom中的元素之后插入一些东西,如下所示:

$('#header').after('<div id="main" />');

在之前但在元素之前也是如此。您可能正在寻找的是prev()和next()。或者如果你想要实际插入内容你几乎是正确的,但你正在做的是尝试选择一个元素而不是创建一个元素。这样做:

$('.thePrices').find('a').after('<div class="wb_main.winbuyerset />');

但是根据你的信息,我们无法知道你想要什么。

答案 3 :(得分:-2)

您的实际函数声明语法搞砸了。 “if”代码是正确的,虽然缩进很差:

if (($('.thePrices').find('.addcartforlower').length == 0 ) && ($('.exclusive').length == 1 )) {
    $('.thePrices').find('a').after(jQuery('div[class="wb_main"]:eq(0)').addClass('winbuyerset'));
    $('.thePrices').find('.wb_main').before(jQuery('div[id="compare"]:eq(0)'));
}

要声明一个函数,请使用如下形式:

var function_name = function() {
    [...]
};

要在页面加载时运行某些内容,请使用如下表单:

$(document).ready(function() {
    [...]
});