有没有按名称获取元素类型的优雅方法?
我可以预期渲染表单包含下拉列表,输入,表格,名称为“answer [x]”的div,其中x代表某个数字。 我需要元素类型来知道如何处理它。 我可以试着通过以下方式获得对象:
$('td[name=answer\\[1\\]]')
$('div[name=answer\\[1\\]]')
$('input[name=answer\\[1\\]]')
当$('input[name=answer\\[x\\]]').length > 0
然后“很棒!它的输入!”。
它看起来不像是优雅的方式......
答案 0 :(得分:2)
对我而言$("[name='answer[" + x + "]'")[0].tagName
非常优雅:)
答案 1 :(得分:1)
将此用于一个元素:
$('[name=answer[1]')[0].tagName
或多个元素:
$('[name=answer]').each(function() {
alert(this.tagName);
});
答案 2 :(得分:1)
$tags = $('[name^=answer]'); // all element have name started with answer
$.each($tags, function() {
console.log(this.tagName);
});