2012-04-25 69 views
1

是否有任何优雅的方式来按名称获取元素类型?如何按名称获取元素类型?

我可以预期呈现的表单包含下拉菜单,输入,表格,名称为“answer [x]”的div,其中x代表某个数字。 我需要元素类型来知道如何处理它。 我可以尝试获得对象:

$('td[name=answer\\[1\\]]') 
$('div[name=answer\\[1\\]]') 
$('input[name=answer\\[1\\]]') 

$('input[name=answer\\[x\\]]').length > 0然后“大其输入!”。 它只是看起来并不像优雅的方式......

+1

是该元素的名称'回答[1'? – gdoron 2012-04-25 07:42:16

+0

不,它是我的错误.., 其**名=“答案[1] ** – dllhell 2012-04-25 08:20:06

回答

2

对我来说$("[name='answer[" + x + "]'")[0].tagName也相当考究:)

+0

谢谢亲爱的先生们,我感到惭愧:) – dllhell 2012-04-25 08:33:09

+0

祝你好运与尝试;) – VisioN 2012-04-25 08:34:29

1

用这个一个元素

$('[name=answer[1]')[0].tagName 

或者这对于多个元素

$('[name=answer]').each(function() { 
    alert(this.tagName); 
});​ 

Live DEMO

1
$tags = $('[name^=answer]'); // all element have name started with answer 

$.each($tags, function() { 
    console.log(this.tagName); 
}); 

Check it live