如何按名称获取元素类型?

时间:2012-04-25 07:33:50

标签: jquery

有没有按名称获取元素类型的优雅方法?

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

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

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

3 个答案:

答案 0 :(得分:2)

对我而言$("[name='answer[" + x + "]'")[0].tagName非常优雅:)

答案 1 :(得分:1)

将此用于一个元素

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

多个元素

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

Live DEMO

答案 2 :(得分:1)

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

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

Check it live