首页 文章

Javascript - 更改特定元素的内联css

提问于
浏览
0
if(document.getElementsbyclassname("tile").style.width = 512) {
   document.querySelectorAll(".tile").forEach(function(element) {
    element.style.width = "25%";
    element.style.height = "auto";
    element.style.position = "initial";
});
}

嗨,我在Wordpress中有一个照片库插件,它会在所有照片div中使用内联宽度样式自动插入照片 .

我需要的是,当我添加512px照片时,宽度将变为25%,当我添加1024像素照片时,宽度变为50% .

无论我是否,此代码都会将所有照片的宽度调整为25% .

怎么了?

1 回答

  • 0

    Roman Bobrik和Pointy是正确的,'='用于赋值,而'=='或'==='用于比较 . 例如:

    var x = 11;
    

    将变量x设置为十一 . 而:

    x === 11
    

    将x与11进行比较,看看它们是否具有相同的值 . 我还想补充一点

    getElementsbyclassname
    

    应正确大写getElementsByClassName以使其正常工作 .

    正如teemu指出的那样,宽度应该是在末尾用'px'表示测量单位的字符串,即element.style.width =“512px” .

    此外,你在这里尝试的有点奇怪 . 首先检查是否存在具有特定宽度的任何图块元素,然后遍历所有图块元素调整其尺寸 - 实际上否定了条件的目的 . 我同意Teemu你很可能希望在循环中进行条件检查 .

    To clarify (as Teemu seems to have removed his comment) :所有照片缩小到25%宽度的原因是,虽然在if(条件)内分配isn 't going to cause an error (at least not on its own), it will automatically present as truthy and the if() will execute. Because the code block always executes, and because you don' t来区分哪些元素应减少到25%,因此所有元素都减少到25%的尺寸 . 如果你注意上面的步骤和评论,你应该没问题 . 希望这有用 .

相关问题