如果需要,如何使此代码正常工作(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'));
}
});
答案 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() {
[...]
});