确定 Javascript 中元素的类型

发布于 2024-12-21 11:28:46 字数 175 浏览 0 评论 0原文

我有这样的代码:

varparent = links[i].parentNode;

我想写一些类似的内容:

if (parent.typeOfElement == "div") {
 ...
}

我该怎么做?

I have this code:

var parent = links[i].parentNode;

I'd like to write something like:

if (parent.typeOfElement == "div") {
 ...
}

How can I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

机场等船 2024-12-28 11:28:46

您可以使用 .tagName,这是(对于元素)与 .nodeName 相同。

所以:

if (parent.tagName === "DIV") {
   //
}

请注意,对于 HTML,标签名称应该以大写形式返回,但在 XML(包括 xhtml)中,它应该保留原始大小写 - 对于 xhtml 意味着它应该是小写的。为了安全起见,并允许将来对文档类型进行任何更改,并允许非标准浏览器行为,您可能希望转换为全部大写或全部小写:

if (parent.tagName.toUpperCase() === "DIV") {
   //
}

根据我的经验,.tagName 使用得更多经常,但我认为有些人认为.nodeName是更好的选择< /a> 因为它适用于属性(并且更多)以及元素。

You can use .tagName, which is (for elements) the same as .nodeName.

So:

if (parent.tagName === "DIV") {
   //
}

Note that the tag name is supposed to be returned in uppercase for HTML, but in XML (including xhtml) it is supposed to preserve the original case - which for xhtml means it should be lowercase. To be safe, and allow for any future changes to your document type and allow for non-standard browser behaviour you might want to convert to all upper or all lower:

if (parent.tagName.toUpperCase() === "DIV") {
   //
}

In my experience .tagName is used much more often, but I gather that some consider .nodeName a better choice because it works for attributes (and more) as well as elements.

祁梦 2024-12-28 11:28:46
if (parent.nodeName == "div") {
    ...
 }

请参阅:http://www.javascriptkit.com/domref/elementproperties.shtml

if (parent.nodeName == "div") {
    ...
 }

See: http://www.javascriptkit.com/domref/elementproperties.shtml

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文