【问题标题】:JS Make element disabled if === 1如果 === 1,JS 使元素被禁用
【发布时间】:2020-10-16 05:22:12
【问题描述】:

我想在数字为 1 时禁用按钮,使用 setAttribue

let element = document.createElement('div')
document.body.appendChild(element)
element.setAttribute('id', 'bet-size')

let text = document.createTextNode('1')
element.appendChild(text)

let click = document.createElement('input')
click.setAttribute('type', 'button')
click.setAttribute('id', 'decrease')
document.body.appendChild(click)
click.disabled = true

click.addEventListener('click', () => {
element.textContent = Number(element.textContent) - 1
if (element.textContent !== 1) {
click.setAttribute('disabled', true)
} else if (element.textContent > 1)
click.setAttribute('disabled', false)
})

当 number 大于 1 时,哪种方式最适合移除禁用的属性?

【问题讨论】:

  • 这可能是个不好的问题,但是当 which 数字是< 1 时?它存储在什么变量中?
  • 您知道if 声明吗?如果是这样,请尝试(和else)相应地设置禁用属性。
  • 你为什么要重新发明<input type="number" min="1" />
  • 我的 div 包含数字
  • setAttribute vs .attribute 已经在这里回答了:stackoverflow.com/questions/3919291/…

标签: javascript html


【解决方案1】:

由于 disabled 为真或假,您只需检查该值是否 > 1。

click.addEventListener('click', (e) => {
    element.textContent = Number(element.textContent) - 1
    e.target.setAttribute("disabled",(Number(element.textContent) - 1 > 1));
})

【讨论】:

    猜你喜欢
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多