javascript - 使用 Jquery 更改多个 'CSS' 不起作用

标签 javascript jquery css attr

这是我的代码:

var showThis = $(this).attr('id'); // div0, div1, div2 etc.
$('#' + showThis).attr('style', 'background-color: #063 !important, height: 520px');

我需要改变

的背景颜色、宽度和高度
#showThis

使用上面使用的方法,因为我无法添加或切换类(如果我将类添加到#showThis,它会破坏我的其余代码)。现在我上面的工作,但是,它只会改变背景颜色的高度。我也需要改变宽度。当我添加

width: 20px

像这样

最后,由于某种原因,它不起作用。它停止改变宽度和高度,改变背景颜色。它不会给出任何 javascript 错误,所以代码可以工作并且该行确实会执行,因为它确实改变了背景颜色,但它为什么不改变宽度和高度却只改变两者之一?

注意:我需要使用 !important 标签(所以我不认为 .css 而不是 .attr 有效)并且我正在使用 I.E 8 和 CSS(不是 css3)如果它有帮助的话。

最佳答案

这不是实现您想要的效果的最佳方式 - jQuery 具有 css 方法,正如 Chad 所说 - 但您希望将 background-colorheight 您的新样式的部分带有 ;不是,

关于javascript - 使用 Jquery 更改多个 'CSS' 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594006/

相关文章:

javascript - 如何使用异步在 Node.js 中运行变量系列或 JavaScript 函数?

javascript - 使用 javascript 求和 td

jquery - 隐藏所有 li 元素并显示前 2 个元素并通过按钮切换它们

javascript - Internet Explorer - 在 Fancybox 上挂起

javascript - 对象数组在 key 中存储相同的属性

javascript - 对象不支持 jquery 中的 addEventListener IE8

javascript - 检查元素是否有CSS动画

javascript - 弹出窗口不可滚动

css - angular2中的背景图像不透明度

html - 输入元素填充其容器的剩余宽度