`
lgtq1983
  • 浏览: 101177 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

parentElement和parentNode的区别

 
阅读更多

有好多人一直不明白parentElement和parentNode的区别,网上说的也不是很清楚。

第一点parentElement是ie专用的,就是说在firefox(ff)浏览器里是不能使用的,一般情况parentNode可以取代parentElement的所有功能。

第二点就如名字所说,parentElement匹配的是parent为element的情况,而parentNode匹配的则是parent为node的情况。element是包含在node里的,它的nodeType是一,以上是我的猜测,下面是我做的测试。

window.onload=function(){ alert(document.body.parentNode.parentNode) }

window.onload=function(){ alert(document.body.parentElement.parentElement) }

理论上,应该返回"document"节点(node),但是它不是element对象,因此前面的代码返回object,而后面的代码返回null。

IE有很多专用的东西啊,难怪我写的东西有时在FF下完全运行不了。大家还是少用IE专有的东西为妙,向标准化看齐,尽管不能完全做到表转化。

分享到:
评论

相关推荐

    Js中parentNode,parentElement,childNodes,children之间的区别

    本文将详细解析`parentNode`、`parentElement`、`childNodes`和`children`之间的区别。 首先,`parentNode`和`parentElement`都是用于获取一个元素的父级节点。它们的主要区别在于兼容性。`parentNode`是W3C标准的...

    js parentElement和offsetParent之间的区别

    在JavaScript中,`parentElement`和`offsetParent`都是用于处理元素上下级关系的属性,但它们的作用和应用场景有所不同。本文将深入解析这两个属性的区别及其使用。 首先,`parentElement`属性是DOM层次结构的一...

    parentElement,srcElement的使用小结

    在JavaScript中,`parentElement` 和 `srcElement` 是与事件处理有关的两个属性,它们在处理DOM元素和事件流时非常有用。本文将详细解释这两个属性以及它们在实际应用场景中的使用。 首先,`parentElement` 是一个...

    javascript中parentNode,childNodes,children的应用详解

    在本篇文章中,我们将详细探讨这些属性的用途、区别和最佳实践。 首先,让我们来了解一下parentNode属性。parentNode用于获取某个DOM元素的直接父节点。我们可以在JavaScript代码中使用它来访问某个元素的父亲节点...

    javascript兼容手册.doc

    - `parentNode.childNodes`在FF和IE中的解释不同,FF的`childNodes`可能包含空白文本节点。可以使用`getElementsByTagName()`避免这个问题。 - FF中的节点没有`removeNode`方法,需要使用`node.parentNode....

    js 常用的webapi

    可以使用 `parentElement` 和 `parentNode` 属性来获取父级节点,例如: `let parent = div.parentElement;` 可以使用 `childNodes` 和 `children` 属性来获取子节点,例如: `let children = div.children;` ...

    让GridView中CheckBox列支持FireFox

    1. **使用通用的DOM访问方法**:用`parentNode`代替`parentElement`,因为并非所有浏览器都支持`parentElement`。 2. **创建自定义函数以获取CheckBox对象**:编写`GetCheckBoxObj`函数,用于在任意DOM节点中查找...

    javascript对于DOM的操作

    document 树结点 parentElement 父元素 parentNode 父结点 childNodes 所有子结点 有s哦 firstChild 第一个子结点 lastChild 最后一个子结点 nextSibling 下一个兄弟结点 previousSibling 上一个兄弟结点

    火狐下event的使用

    `来获取事件对象、通过`event.target`或`event.srcElement`来获取触发事件的元素、以及通过`element.parentNode`或`element.parentElement`来获取父元素等方法,可以有效地解决这些问题,使得我们的代码更加健壮和...

    vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果

    ket = sel.getRangeAt(0).commonAncestorContainer.parentElement.parentNode.offsetTop; } // 使用Vue的$nextTick确保DOM更新后再执行滚动操作 this.$nextTick(() => { // dom 是你的编辑器元素,将滚动位置设置...

    删除元素标签 并在之和添加一个select标签_123

    var parentElement = element.parentNode; parentElement.removeChild(element); ``` 接下来,我们将讨论如何添加`<select>`标签。首先,创建一个新的`<select>`元素: ```javascript var select = document....

    js在IE和fireFox的区别

    - **IE**:使用`parentElement`和`children`。 - **Firefox**:使用`parentNode`和`childNodes`。 - **统一解决方案**:可以使用`parentNode`和`childNodes`,或考虑使用`querySelectorAll`等更现代的方法。 4. ...

    js firefox支持问题

    - **`parentElement`与`parentNode`的区别**:在Firefox中,`parentElement`和`parentNode`都能返回父节点,但`parentElement`只返回元素节点的父级。在IE中,这些方法可能表现得不太一致,因此建议使用`parentNode`...

    as 集锦 学习资料

    - `parentElement` 和 `parentNode`:获取元素的父元素,dhtml用`parentElement`,DOM用`parentNode`。 - `moveRow()`:在表格中移动行。 - `scrollIntoView()`:使元素滚动到视口可见。 - `location.search`:...

    Ie和firefox的Js区别

    - `parentElement`:Firefox不支持`parentElement`,可以使用`parentNode.attributes.getNamedItem("name").nodeValue`来获取属性值。 - `event`对象:不同浏览器对`event`对象的处理方式不同,例如,获取事件...

    Js Div属性大全

    33. parentElement/parentNode:获取Div元素的父级元素和节点。 34. parentTextEdit:在富文本编辑环境中,获取可以创建TextRange对象的父元素。 了解并熟练运用这些Div属性,可以帮助开发者创建功能丰富的动态...

    JavaScript代码大全

    书中的脚本编程部分,详细介绍了定时器的设置(setInterval和clearInterval),Unicode编码的转义与解码(escape和unescape),对象的父元素获取(obj.parentElement和obj.parentNode),以及如何使用DOM操作来交换表格行...

    childNodes 用法两例

    在函数内部,`obj.parentNode.parentNode.childNodes[1]` 被用来获取当前行的第二个单元格(索引为1,因为索引从0开始)。这个单元格的内容被替换为一个输入框,允许用户编辑。当有其他单元格正在编辑时,其内容会...

Global site tag (gtag.js) - Google Analytics