4

我想知道 jquery 对象的 tagName ,我试过:

   var obj = $("<div></div>");
   alert($(obj).attr("tagName"));

这个警报告诉我undefined。我在做什么错?

4

3 回答 3

9

tagName是底层 DOM 元素的属性,而不是属性,因此您可以使用propjQuery 访问/修改属性的方法:

alert($(obj).prop('tagName'));

Better, however, is to directly access the DOM property:

alert(obj[0].tagName);
于 2012-05-28T08:34:51.540 回答
2

您需要访问底层 DOM 节点,因为 jQuery 对象没有tagName属性,tagName也不是属性,也不是属性:

var obj = $("<div></div>");
alert(obj[0].tagName);

请注意,我还在第二行删除了对 jQuery 的调用,因为obj它已经是一个 jQuery 对象。

于 2012-05-28T08:34:00.010 回答
1

tagName是一个原生 DOM 元素属性,它不是 jQuery 本身的一部分。考虑到这一点,使用$()[0]jQuery 选择器获取 DOM 元素,如下所示:

var obj = $("<div></div>");
alert(obj[0].tagName);

示例小提琴

于 2012-05-28T08:34:01.313 回答