有没有办法循环遍历字段集中的所有字段?

dmr*_*dmr 4 html javascript fieldset

我想更改特定字段集中所有字段的类.

有没有办法循环遍历字段集中的字段?

bob*_*nce 6

你可以用getElementsByTagName.

var fieldset= document.getElementById('something');
var fieldtags= ['input', 'textarea', 'select', 'button'];

for (var tagi= fieldtags.length; tagi-->0) {
    var fields= fieldset.getElementsByTagName(fieldtags[tagi]);
    for (var fieldi= fields.length; fieldi-->0;) {

        fields[fieldi].className= 'hello';
    }
}
Run Code Online (Sandbox Code Playgroud)

(如果您只关心input字段,则可能会丢失外部标记循环.)

如果你按文档顺序需要它们(而不是按标签分组),你必须手动遍历这些元素,这将是一个痛苦而且有点慢.您可以使用fieldset.querySelectorAll('input, textarea, select, button'),但并非所有浏览器都支持.(特别是,IE6-7早于它.)


Rex*_*x M 5

使用 jQuery(是的!):

$('#fieldset-id :input').each(function(index,element) {
    //element is the specific field:
    $(element).doSomething();
});
Run Code Online (Sandbox Code Playgroud)

  • 那么,为什么不探索所​​有其他可能性呢?MooTools?原型?道场?分机?酷狗?...我认为最好始终假设 OP 希望使用 *no* 库,除非明确说明。 (3认同)