Javascript 选择jquerybycss属性
我试图通过CSS选择一个图像,该图像通过CMS自动应用于该图像,然后添加一个类。这是我的剧本:Javascript 选择jquerybycss属性,javascript,jquery,Javascript,Jquery,我试图通过CSS选择一个图像,该图像通过CMS自动应用于该图像,然后添加一个类。这是我的剧本: $(document).ready(function() { if ($('.pageBody p img').css('float') === 'right') { $('.pageBody p img').addClass('float-right'); } }); 对于应用了float:right的图像,该脚本可以正常工作。另一个图像应用了float:left。
$(document).ready(function() {
if ($('.pageBody p img').css('float') === 'right') {
$('.pageBody p img').addClass('float-right');
}
});
对于应用了float:right
的图像,该脚本可以正常工作。另一个图像应用了float:left
。问题是,如果我在脚本中从“右”切换到“左”,它将无法工作。例如,如果我将图像设置为float:left
,并使用此脚本,则该脚本不起作用:
$(document).ready(function() {
if ($('.pageBody p img').css('float') === 'left') {
$('.pageBody p img').addClass('float-left');
}
});
只有当您感兴趣的图像是文档中的第一个图像时,您当前的代码才会起作用。无论图像在DOM中的位置如何,都可以使用来定位该图像:
$(document).ready(function() {
$(".pageBody p img").filter(function() {
return $(this).css("float") == "left";
}).addClass("float-left");
});
或者,您可以使用采用函数的形式向所有图像添加float left
或float right
类,具体取决于其float
样式的值:
$(document).ready(function() {
$(".pageBody p img").addClass(function() {
var direction = $(this).css("float");
if (direction == "left" || direction == "right") {
return "float-" + direction;
} else {
return "";
}
});
});
如果它使用的是
right
,而不是left
,您确定它确实应用了该样式吗。标记中的另一个图像是否将pageBody类包装在p标记中?您可以通过执行类似console.log($('.pageBody p img').CSS('float'))的操作打印CSS值吗,它应该能给你足够的信息。太棒了。谢谢你的帮助。我在七分钟内不能接受你的答案,但我会尽快接受。或者,我会用每一个答案来回答:return($(this.css(“float”)==“left”| |$(this.css(“float”)==“right”)})。每个(函数(){$(this.addClass(“float-”+$(this.css(“float”);})代码>好答案顺便说一句