Я должен добраться весь input
объекты и управляют onclick
параметрический усилитель.
Следующее делает задание для <a>
ссылки. Поиск чего-то вроде этого для input
теги.
for (var ls = document.links, numLinks = ls.length, i=0; i<numLinks; i++){
var link = unescape(ls[i].href);
link = link.replace(/\\'/ig,"#");
if(ls[i].href.indexOf("javascript:") == -1)
{
ls[i].href = "javascript:LoadExtern(\\""+link+"\\",\\"ControlPanelContent\\",true,true);";
}
}
(См. Обновление в конце ответа.)
Вы можете получить NodeList
для всех входных данных
через getElementsByTagName
( спецификация DOM , MDC , MSDN ), затем просто пропустите его:
var inputs, index;
inputs = document.getElementsByTagName('input');
for (index = 0; index < inputs.length; ++index) {
// deal with inputs[index] element.
}
Там я ' Мы использовали его в документе
, который будет искать по всему документу. Он также существует для отдельных элементов ( спецификация DOM ), что позволяет вам искать только их потомков, а не весь документ, например:
var container, inputs, index;
// Get the container element
container = document.getElementById('container');
// Find its child `input` elements
inputs = container.getElementsByTagName('input');
for (index = 0; index < inputs.length; ++index) {
// deal with inputs[index] element.
}
... но вы сказали, что не хотите использовать родительская форма
, поэтому первый пример более применим к вашему вопросу (второй нужен только для полноты, на тот случай, если кто-то другой, нашедший этот ответ, должен знать).
Обновление : getElementsByTagName
- отличный способ сделать это, но что, если вы хотите сделать что-то более сложное, например, просто найти все флажки вместо всех input
elements?
Вот где пригодится полезный querySelectorAll
: он позволяет нам получить список элементов, которые соответствуют любому селектору CSS, который мы хотим .Итак, для нашего примера флажков:
var checkboxes = document.querySelectorAll("input[type=checkbox]");
Вы также можете использовать его на уровне элемента. Например, если у нас есть элемент div
в нашей переменной element
,мы можем найти все диапазоны
с классом foo
, которые находятся внутри этого div
следующим образом:
var fooSpans = element.querySelectorAll("span.foo");
querySelectorAll
и его двоюродный брат ] querySelector
(который просто находит первый соответствующий элемент, а не дает вам список) поддерживаются всеми современными браузерами, а также IE8.
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; ++i) {
// ...
}