在JavaScript中禁用使用类名的文本框

5jvtdoz2  于 2023-09-29  发布在  Java
关注(0)|答案(4)|浏览(90)

我有HTML

Name 1:<input type="text" class="one" id="mytext">
<button onclick="disfunction()"></button>

JavaScript

function disfunction(){
document.getElementsByClassName("one").disabled = true;
}

但文本框仍处于启用状态。如何使用JavaScript中的类名关闭**text box
使用ID我可以做到这一点。使用jQuery
但是我需要一个使用Javascriptclassname的解决方案。

hts6caw3

hts6caw31#

getElementsByClassName返回一个元素列表,你需要遍历它来禁用每个元素:

var cells = table.getElementsByClassName("one"); 
for (var i = 0; i < cells.length; i++) { 
    cells[i].disabled = true;
}

JSFIDDLE:http://jsfiddle.net/7L14zaha/1/

l7mqbcuq

l7mqbcuq2#

你可以试试这个,我敢打赌这就是你正在看的。

function disfunction(){
document.getElementsByClassName("one")[0].disabled = true;
}

JSFiddle:- Disable on click.

a9wyjsp7

a9wyjsp73#

Mozilla docs声明:
elements是找到的元素的实时HTMLCollection。
所以你必须迭代getElementsByClassName的结果。

var testElements = document.getElementsByClassName('class-name-here');
var testDivs = Array.prototype.filter.call(testElements, function(testElement){
    testElement.disabled = true;
});
nbnkbykc

nbnkbykc4#

2023更新

我相信这个问题在其他地方已经得到了回答,但下面是ES6的一个很好的答案:

document.querySelectorAll(".class-name").forEach(element => element.disabled = true);

相关问题