2013-02-12 138 views
2

我将var el传递给一个函数。 el包含先前抓住元素(使用的getElementById),当我在功能我得到CONSOLE.LOG el如下:Javascript按名称获取子元素

enter image description here

的问题出现时,我试图抓住使用el内的元素:

el.getElementsByName('fname'); 

我得到的错误:

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

我认为这意味着'getElementsByName'不是该对象的方法。来自像jQuery这样的图书馆的el吗?我想你不想知道'el'是什么,就需要'document.getElementsByName'。 – Leeish 2013-02-12 22:23:25

+0

有什么理由不使用jQuery? – 2013-02-12 22:23:47

回答

12

getElementsByName() API位于document对象级别。这不是一个HTMLElement方法。

你可以使用querySelectorAll()代替:

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

它不是在旧的浏览器支持。但是。