我正试图让这段代码起作用:
HTML:
<div class="content-block blog-post clearfix zoomIn animated" style="position: absolute; left: 0px; top: 0px;">
<div class="content-block blog-post clearfix zoomIn animated" style="position: absolute; left: 451px; top: 0px;">
<div class="content-block blog-post clearfix zoomIn animated" style="position: absolute; left: 0px; top: 466px;">
<div class="content-block blog-post clearfix zoomIn animated" style="position: absolute; left: 451px; top: 476px;">
Jquery的:
var a = $(".category-susans-personal-blog .archive_page .wpb_thumbnails .blog-post").css("position") == "absolute" && $(".category-susans-personal-blog .archive_page .wpb_thumbnails .blog-post").css("left") == "0px";
var b = true;
var c = a && b;
$(".category-susans-personal-blog .archive_page .wpb_thumbnails .blog-post").each(function(i, obj) {
if(c){
$(this).addClass("left");
} else {
$(this).addClass("right");
}
});
我要做的是:如果.blog-post
有position:absolute;left:0
,请添加课程.left
其他.right
。
以下是当前javascript的html输出:
<div class="content-block blog-post clearfix zoomIn animated left" style="position: absolute; left: 0px; top: 0px;">
<div class="content-block blog-post clearfix zoomIn animated left" style="position: absolute; left: 451px; top: 0px;">
谢谢!
答案 0 :(得分:2)
你不能用这种方式“添加”布尔值:
$c = $a + $b;
你所做的只是强制整数。由于$b
总是为真,您将会执行$c = 0 + 1
或$c = 1 + 1
,但无论哪种方式,结果都是$c
是一个 truthy 值。
您需要使用布尔逻辑运算符,例如&&
或||
。如果你想说“两个AND b必须为真”,你需要&&
:
$c = $a && $b;
答案 1 :(得分:0)
添加两个true / false并不会给你真或假,它会给你一个数字:
True + true = 2
True + false = 1
False + false = 0
此外,您需要移动each()中的第一行:
$(".category-susans-personal-blog .archive_page .wpb_thumbnails .blog-post").each(function(i, obj) {
var $a = $(this).css("position") == "absolute" && $(this).css("left") == "0px";
if($a){
$(this).addClass("right");
} else {
$(this).addClass("left");
}
});
答案 2 :(得分:0)
仍然不确定你要完成什么,但这可能是正确方向的推动(如果你只想要position: absolute
和left: 0px
的div来获得{{1} } class):
right
可以简化为:
$(".category-susans-personal-blog .archive_page .wpb_thumbnails .blog-post").each(function(i, obj) {
var a = $(this).css("position") === "absolute" && $(this).css("left") === "0px";
var b = true;
var c = a && b;
if(c) {
$(this).addClass("right");
} else {
$(this).addClass("left");
}
});
<强>更新强>
在您进行修改后,您声明只需要$(".category-susans-personal-blog .archive_page .wpb_thumbnails .blog-post").each(function(i, obj) {
if($(this).css("position") === "absolute" && $(this).css("left") === "0px") {
$(this).addClass("right");
} else {
$(this).addClass("left");
}
});
.blog-post
position: absolute
left: 0px
添加left
类。
然后这样的事情应该更充分:
$(".blog-post").each(function(i, obj) {
if($(this).css("position") === "absolute" && $(this).css("left") === "0px") {
$(this).addClass("left");
} else {
$(this).addClass("right");
}
});