javascript - 如何使用变量更改 javascript 中的样式?

标签 javascript html css

我想提示用户输入一个 CSS 属性和一个值并更改段落的样式,但我无法使该属性正常工作

function change()
  var prop = prompt("Enter a css property");
  var val = prompt("Enter a value for the property");
  var x = document.querySelectorAll("p");
  for (i = 0; i < x.length; i++) {
    x[i].style.prop = val;
  }
}

最佳答案

您正在尝试设置样式 prop,而不是 prop 中的变量。使用括号表示 prop 是一个变量,并使用其中包含的值:

x[i].style[prop] = val;

这是一个工作演示:

function change() {
  var prop = 'color';
  var val = 'blue';
  var x = document.querySelectorAll("p");
  for (i = 0; i < x.length; i++) {
    x[i].style[prop] = val;
  }
}
<p>Will turn blue</p>

<button onclick="change()">Turn paragraphs blue</button>

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

相关文章:

javascript - 获取一个元素滚动多个元素

javascript - 使用 Javascript 的两个 HTML 页面链接

javascript - 当我们使用 jquery 将 div 悬停时如何使 Class 保持不变

html - 调整窗口大小时,我的 View 的页脚线和高度不断变化

html - 使用伪元素创建背景叠加

css - 打开关闭复选框样式

javascript - 根据背景颜色更改颜色

javascript - Mocha 和 Sinon 测试 Promise 超时

html - 想要从 Apps 脚本表单发布到另一个 App 脚本

css - 更改/覆盖 antdesign 输入组件的样式