获取元素的标签名称

cen*_*com 3 javascript jquery

\n

可能的重复:
\n jQuery 可以提供标签名称吗?

\n
\n\n\n\n

我想在两种不同的情况下显示 div 标签内的文本:

\n\n
    \n
  1. 当我将鼠标悬停在第一个子元素上时,我希望看到文本作为 id 和标签元素的名称。
  2. \n
  3. 当我将鼠标悬停在其他元素(不是第一个子元素)上时,我想看到文本“这不是第一个子元素”。
  4. \n
\n\n

例子

\n\n

HTML:

\n\n
<ul id="ul1">ul1\n   <li id="aa">1</li>\n   <li id="bb">2</li>\n   <li id="cc"class="elm">3</li>\n   <li id="dd">4</li>\n   <li id="ee">5</li>\n</ul>\n<ul id="ul2">ul2\n   <li id="ul2-1">1</li>\n   <li>2</li>\n   <li>3</li>\n   <li>4</li>\n   <li>5</li>\n</ul><br/>\n\n<div>element-name</div>\n
Run Code Online (Sandbox Code Playgroud)\n\n

CSS:

\n\n
div,li{ width:40px; height:40px; margin:10px;\n        float:left; border:2px blue solid; \n        padding:2px; }\nul{ width:100px; height:10px; margin:10px;\n        float:left; border:2px blue solid; \n        padding:2px; }\n  span { font-size:14px; }\n  p { clear:left; margin:10px }\xe2\x80\x8b  \n
Run Code Online (Sandbox Code Playgroud)\n\n

jQuery:

\n\n
var $curr = $(".elm");\n$curr.css("background", "#f99");\n\n$("*:first-child")\n        .css("background", "#cac")\n        .hover(function () {\n              $(this).css("background","green");\n\n            $(\'div\').text(this.id+$(this).tagname());\n\n            }, function () {\n              $(this).css("background", "#cac");\n            });\n
Run Code Online (Sandbox Code Playgroud)\n

jfr*_*d00 5

您可以通过 DOM 属性获取标签 nme .tagName。这不是 jQuery 属性,而是 DOM 属性,如下所示:

$("*:first-child").hover(function () {
    console.log(this.tagName);
});
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令将 id 和标签名称设为 div 的文本:

$('div').text(this.id+this.tagname);
Run Code Online (Sandbox Code Playgroud)

如果您已经有一个 jQuery 对象并希望从中获取 DOM 对象,您可以使用 .get(0) 或 [0] 来实现,如myObj$.get(0)或中所示myObj$[0]。在您的事件处理程序中,this已经是发起事件的对象的 DOM 对象。

除此之外,我不知道你真正要求什么。