1

我正在尝试通过按共享 ID 选择元素来清除一些(50 个中的 10 个)字段。问题是我一次只能选择一个 getElementById()

这是演示单元素抓取的 jsFiddle。jsFiddle

function toggleBankCount() {
    secBankFields = document.getElementById('2ndBankFields');
    secBankFields.value = '';
}

我相当确定我可以用 getElementsByName() 做我想做的事,它返回一个元素数组。但是,我使用的是 Perl,并且元素的名称必须不同,以便 %fdat 在提交时正常工作。你能帮助我吗?

4

2 回答 2

3

以下是您的操作方法:

toggleBankCount = function () {
    secBankFields = document.getElementsByTagName('input');
    for (var i = 0; i < secBankFields.length; ++i) {
        if(secBankFields[i].id === '2ndBankFields')
            secBankFields[i].value = '';
    }
}

虽然 id 应该是唯一的,但请考虑使用类。此外,类和 ID 不应以数字开头。

看看:JSFiddle

于 2014-10-24T15:40:29.080 回答
-1

有一些 Javascript 函数可以帮助你。

通过 ID 属性获取元素

ID 应该是唯一的。

var elm = document.getElementById("some_id");

按标签名称获取元素

// get all div elements
var elms = document.getElementsByTagName("div"); 

通过 Class 属性获取元素

// get all elements with class .some_class
var elms = document.getElementsByClassName("some_class");

通过 Name 属性获取元素

// get all elements with attribute name some_name
var elms = document.getElementsByName("some_name");

通过 CSS 选择器获取元素

var elms = document.querySelectorAll("div.box, span.title");
for (var i = 0; i < elms.length; i++) {
   var elm = elms[i];
   console.log(elm);
}
于 2014-10-24T15:45:11.353 回答