通过它的类(不是id)禁用文本区域

tim*_*ker 2 html javascript forms

我有2个文本区域是自动生成的,我需要使用JavaScript来禁用页面加载时.问题是因为它们是自动生成的,我不能给它们一个ID,因为它们都有ID - 一个很大的号码.

尝试过Javascript:

document.getElementByClassName('option_window-size').disabled=true;
Run Code Online (Sandbox Code Playgroud)

我知道这是有效的,因为如果我将getElementbyClassName更改为ID,那么如果我给文本区域ID也是如此.但正如我所说,它需要在课堂上工作.此外,它无法使用Name属性,因为每个产品和每页自动生成...

我试过这个,但它只是不起作用,我无法弄清楚为什么不,因为它应该作为我唯一改变的是从ID到CLASS

文字区域

<textarea name="willbeautogenerated" class="option_window-size" cols="40" rows="5">willbeautogenerated</textarea>
Run Code Online (Sandbox Code Playgroud)

附加说明:我曾尝试使用PHP计算并为它们分配不同的ID,但它很复杂.此外,只有这两个需要禁用,因此我不能只禁用页面上的所有文本区域.

Pau*_* S. 8

我知道这是有效的,因为如果我将getElementByClassName更改为ID,那么如果我同时给文本区域ID,它也会起作用.但正如我所说,它需要在课堂上工作.

getElementsByClassName返回NodeList而不是Node本身.您必须循环遍历列表,或者如果您只想要1项目,请选择索引0.

var nodes = document.getElementsByClassName("option_window-size"),
    i = 0, e;

while (e = nodes[i++]) e.disabled = true;
Run Code Online (Sandbox Code Playgroud)