在 Javascript 中将 1 添加到 css 样式属性

Posted

技术标签:

【中文标题】在 Javascript 中将 1 添加到 css 样式属性【英文标题】:Adding 1 to a css style property in Javascript 【发布时间】:2019-01-29 21:23:57 【问题描述】:

我试图首先获取元素的 order 属性的值,然后在单击按钮时将其加 1。问题是,我得到 11,而不是得到 1 并加 1 和得到 2。“+=”运算符不应该添加值吗?我做错了什么?

carouselPrev.addEventListener("click", function()

  const firstPost = document.querySelector(".blog-post");

  let firstPostOrder = firstPost.style.getPropertyValue('order');

  firstPost.style.order = firstPostOrder += 1;
);

【问题讨论】:

在进行算术运算之前,您需要使用parseInt()firstPostOrder 视为整数。否则,您只是将1 附加到一个字符串。 【参考方案1】:

Css 属性是字符串,'1' + 1 = 11.

firstPostOrder 之前添加“+”以将其转换为数字。

firstPost.style.order = +firstPostOrder += 1;

【讨论】:

这确实有效,谢谢。在允许的情况下接受。【参考方案2】:

这些值是字符串,因此它们被连接起来,在使用 parseInt() 之前尝试解析为整数

【讨论】:

【参考方案3】:

试试这个

carouselPrev.addEventListener("click", function()

const firstPost = document.querySelector(".blog-post");

let firstPostOrder = firstPost.style.getPropertyValue('order');

firstPost.style.order = parseInt(firstPostOrder,10) +1;
);

【讨论】:

总是建议radixparseIntparseInt(firstPostOrder, 10) 见***.com/questions/6611824/why-do-we-need-to-use-radix 那是行不通的。顺序完全没有变化。【参考方案4】:

不,“+=”运算符是您可以用来代替“=”的赋值运算符。

let x = 42;
x += 1;

等价于

let x = 42;
x = x + 1;

您只想使用“+”来添加值,而不是“+=”。

【讨论】:

以上是关于在 Javascript 中将 1 添加到 css 样式属性的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 JavaScript 中将全局变量添加到窗口对象?

在Javascript中将小数添加到字符串[重复]

在 MVC 2 中将 css 类添加到 Html.EditorFor

在 Highcharts 中将 CSS 添加到特定系列的图例标签

如何在 wordpress 自定义背景中将 CSS 属性添加到背景大小支持

在 django 中将 css 类添加到验证错误的字段