【发布时间】:2017-05-13 04:07:15
【问题描述】:
我在这个函数的范围内遗漏了一些东西,我有一个 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 演示
【问题讨论】:
-
问题不在于改变图像对齐方式,没有“this”它可以正常工作问题是,使用“this”我目前的方式不会选择任何东西,如果我不使用“this ",它会选择页面上的每个图像标签并重新对齐。因此,如果我有 50 个 img 标签,则无论找到最后一个标签,它们都会对齐。
-
您可以使用类标识符添加属性,如 $('img.alignleft').attr('align','left');和类似的 alignright 类