我遗漏了具有此功能范围的内容,我有一个自动添加类到图像的cms,但没有但不会改变它们的对齐方式,因此文本不能正确地包裹它们。我不能简单地使用$(" img")。attr(" align"," left");因为这会改变页面上的每个图像,即使用上下文" img",这个'是不是像我想的那样工作,绝对没有。
function align_image(){
console.log("func called");
if($("img").length){
if($("img").hasClass("alignleft")){
$("img", this).attr("align","left");
console.log("aligned left!")
}
if($("img").hasClass("alignright")){
$("img", this).attr("align","right");
console.log("aligned right!");
}
}
}
align_image();
有没有人知道如何更改每个img以与其相关的类对齐?奖励积分为何其起作用。
编辑:codepen demo
答案 0 :(得分:2)
我认为你可以遍历每个图像,迭代器函数引用带有“this”引用的img DOM元素。像这样:
function align_image(){
console.log("func called");
if ($(this).hasClass('alignleft')) {
$(this).attr("align","left");
}
if ($(this).hasClass('alignright')) {
$(this).attr("align","right");
}
}
$('img').each(align_image);
正如评论(以及其他答案)中所建议的那样,您也可以使用特定的jQuery选择器来实现相同的目标:
$('img.alignleft').attr("align","left");
$('img.alignright').attr("align","right");
最后,根据w3schools,不推荐使用img align属性,而应使用CSS属性。这样的事情应该有效:
img.alignleft {
float: left;
}
img.alignright {
float: right;
}
我希望这能抓住所有角度。
答案 1 :(得分:0)
试试这个。我认为它对你有所帮助
function align_image(){
console.log("func called");
if ($('img').hasClass('alignleft')) {
$(this).attr("align","left");
}
if ($('img').hasClass('alignright')) {
$(this).attr("align","right");
}
}
align_image();
答案 2 :(得分:0)
您最好使用filter方法查找元素并添加如下所示的attr:
$("img").filter('.align-right').attr("align","right") ;
$("img").filter('.align-left').attr("align","left") ;