2013-02-12 3 views
2

Я передаю var el в функцию. el содержит ранее захваченный элемент (с использованием getElementById) и когда я console.log el в функции я получаю следующее:Javascript Get Child Element by Name

enter image description here

Проблема возникает, когда я пытаюсь захватить элемент внутри el с помощью:

el.getElementsByName('fname'); 

Я получаю ошибку:

Uncaught TypeError: Object #<HTMLDivElement> has no method 'getElementsByName' 
+0

Я думаю, что это означает, что 'getElementsByName' не является методом этого объекта. Является el из библиотеки, например jQuery? Я думаю, вы хотите 'document.getElementsByName', не зная, что такое' el'. – Leeish

+0

есть ли причина не использовать jQuery? –

ответ

12

getElementsByName() API находится на уровне объекта document. Это не метод HTMLElement.

Вы можете использовать querySelectorAll() вместо:

var fnames = el.querySelectorAll('[name=fname]'); 

Это не поддерживается в старых браузерах, однако.