1

有什么优雅的方法可以按名称获取元素类型吗?

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

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

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

4

3 回答 3

2

对我$("[name='answer[" + x + "]'")[0].tagName来说很优雅:)

于 2012-04-25T07:36:51.613 回答
1

将此用于一个元素

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

或者这个对于多个元素

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

现场演示

于 2012-04-25T07:37:10.550 回答
1
$tags = $('[name^=answer]'); // all element have name started with answer

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

现场检查

于 2012-04-25T07:41:33.577 回答