javascript - 如何在 JS 中禁用按钮单击页面加载?
问题描述
我在DOM中有一个 HTML 代码,如下所示。以下 HTML 代码在页面加载时显示:
<td style="width:5%; text-align:center;"><button style="text-align:center; width:120px;" data-id="0" class="converter btn btn-outline-primary"> Completed </button></td>
<td style="width:5%; text-align:center;"><button style="text-align:center; width:120px;" data-id="1" class="converter btn btn-outline-primary"> Completed </button></td>
当按钮标记中的文本完成时,我希望在按钮上禁用单击。
这是我尝试过的:
var x = document.getElementsByClassName("converter");
for (var i = 0; i < x.length; i++) {
if (document.getElementsByClassName('converter').innerText[i] == "Completed") { // Line A
document.getElementsByClassName('converter').disabled = true;
}
}
我在A 行遇到错误:
未捕获的类型错误:无法读取未定义的属性“0”
解决方案
可以这样吗?
var elements = document.querySelectorAll(".converter"); // use querySelectorAll(".className")
elements.forEach(function(element) { // elements is an array you need to iterate over it
console.log(element.innerText); // just to log and see something if it works ...
if("Completed" === element.innerText) { // this is the test
element.setAttribute('disabled', 'disabled'); // set the attribute
}
});
<td style="width:5%; text-align:center;"><button style="text-align:center; width:120px;" data-id="0" class="converter btn btn-outline-primary"> Completed </button></td>
<td style="width:5%; text-align:center;"><button style="text-align:center; width:120px;" data-id="1" class="converter btn btn-outline-primary"> Completed </button></td>
推荐阅读
- javascript - 如何将每行数据提交到 Asp .Net 控制器
- node.js - 如何在nestjs中模拟猫鼬模型构造函数
- google-chrome-extension - 如何在 chrome 扩展中获取已删除的缓存大小?
- ios - SwiftUI:如何在动态列表或 LazyVStack 中获取视图框架
- typescript - 在推断该类型的某些部分时声明 TypeScript 类型
- python - 在我的计算器程序中添加一个函数。(Python)
- android - 有什么方法可以检测 Android 中新应用程序的安装吗?
- php - 如何使用 Twitter V2 API 拨打电话
- c++ - 重绘时如何避免重新启动多边形?
- android - 在这个新闻应用程序中,我不断收到 InflateException