javascript - 使用javascript更改类的样式

标签 javascript jquery css rangeslider

一开始我只想知道是不是这样:

document.getElementsByClassName("main-content_datafield").style.width= this.value;

有效使用。如果是的话我就犯了一个错误。我想创建一个 rangeslider 来控制某些对象的大小。为此,我使用 javascript 获取 slider 的值并添加了之前的代码。 所以最后它看起来像这样:

http://jsfiddle.net/oqh16n2u/1/

那么我做错了什么?

谢谢!

最佳答案

尝试利用 for 循环迭代 .getElementsByClassName() 返回的 HTMLCollection ,在后面添加 "px" this.value 设置元素的宽度

var scale_range = document.getElementById('scale_range');
demo = document.getElementById("demo");

scale_range.onchange = function () {
    demo.innerHTML = this.value;

    var elems = document.getElementsByClassName("main-content_datafield");
    for (var i = 0; i < elems.length; i++) {
        elems[i].style.width = this.value + "px";
    }
}

jsfiddle http://jsfiddle.net/oqh16n2u/5/

关于javascript - 使用javascript更改类的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32169464/

相关文章:

javascript - 从浏览器扩展调用网页 JavaScript 方法

javascript - 默认显示第一个容器

css - Tailwind 的 theme() 无法识别

html - 固定元素受溢出影响 :hidden Parent

javascript - 如何将 Promise 上下文中 Uncaught Error 传播到 window.onerror?

javascript - Angular queryParams 与大括号混合绑定(bind)

javascript - 为什么 jQuery 匹配甚至没有指定 CSS 属性和值的元素?

javascript - 比较多个值的简洁方法

javascript - 动画背景颜色,脉冲效果

javascript - 在 fancybox 外添加自定义 html