javascript - 检查 - 节点可以有 child 吗?

标签 javascript html dom

除了检查 tagName switch(node.tagName) 之外,是否有一种可移植的方法来检查某些元素是否可以接受和显示子节点?还是一样?我需要实现某种 d&d,我想在最接近 document.elementFromPoint 的位置插入移动的节点位置(拖放节点的位置)。但是,据我了解,在 <img> 中插入一个元素是没有意义的。 ,例如,所以我需要 insertBefore在这种情况下,这个 img 的 parentNode。 当然,可以检查标签列表,但也许有更便携、更简单的解决方案?

谢谢

最佳答案

不,我认为没有内置函数可以检查某个标签是否为 a void one .这是 HTML 的一个相当随意的决定,它没有 DOM 属性。 (在 XML 文档中,理论上每个元素都可以有子元素)。

所以对照官方列表确实是要走的路。对于 HTML4,请参阅 Which HTML tags have no content ,对于 HTML5,请参阅 list of void elements in the spec :

area, base, br, col, embed, hr, img, input, keygen, link, menuitem, meta, param, source, track, wbr

关于javascript - 检查 - 节点可以有 child 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47966709/

相关文章:

html - 浏览器呈现的代码而不是页面

Java XML DOM 整型值

javascript - 通过更改下拉列表更改输入字段

Javascript SetTimeout 和循环

javascript - 如何在保持分隔符的同时根据空格或符号拆分字符串?

Javascript根据输入标签提交表单

javascript - 默认情况下,如果焦点移至jquery datepicker,则不会激活它

javascript - 外部 SVG 作为 Google map api 标记 - 是或否

javascript - 使用 jQuery 递归更改元素类型,为什么它部分起作用?

javascript - 如何检查文档是否包含元素