您的位置:首页> 前端教程> JS教程
文章导航

JavaScript hasChildNodes()

2018-10-26 11:33| 作者: admin| 查看: 884| 评论: 0|来自: 蚂蚁部落

此方法可以判断当前节点是否包含子节点。

如果包含,则返回true,否则返回false。

语法结构:

[JavaScript] 纯文本查看 复制代码
element.hasChildNodes()

浏览器支持:

(1).IE7+浏览器支持此方法。

(2).edge浏览器支持此方法。

(3).谷歌浏览器支持此方法。

(4).opera浏览器支持此方法。

(5).火狐浏览器支持此方法。

(6).safria浏览器支持此方法。

代码实例:

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style type="text/css">
#box li {
  width: 350px;
  height: 25px;
  line-height: 25px;
  font-size: 12px;
}
</style>
<script type="text/javascript">
window.onload = function () {
  let odiv = document.getElementById("ant");
  let oshow = document.getElementById("show");
  oshow.innerHTML = odiv.hasChildNodes();
}
</script>
</head>
<body>
<div id="ant">
  <p></p>
</div>
<span id="show"></span>
</body>
</html>

很明显div元素中具有子元素节点,所以span元素中显示true。

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style type="text/css">
#box li {
  width: 350px;
  height: 25px;
  line-height: 25px;
  font-size: 12px;
}
</style>
<script type="text/javascript">
window.onload = function () {
  let odiv = document.getElementById("ant");
  let oshow = document.getElementById("show");
  oshow.innerHTML = odiv.hasChildNodes();
}
</script>
</head>
<body>
<div id="ant">
</div>
<span id="show"></span>
</body>
</html>

上述代码将div中的p元素删除,然而span元素依然显示true。

这是因为在标准浏览器中,空格换行被看做是文本节点。

所以不要误以为此方法的功能是判断是否含有子元素节点,而是判断是否具有子节点。

节点与元素节点所涵盖的范围不同,节点包含元素节点,节点还包括属性节点,注释节点等等。

[HTML] 纯文本查看 复制代码运行代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style type="text/css">
#box li {
  width: 350px;
  height: 25px;
  line-height: 25px;
  font-size: 12px;
}
</style>
<script type="text/javascript">
window.onload = function () {
  let odiv = document.getElementById("ant");
  let oshow = document.getElementById("show");
  oshow.innerHTML = odiv.hasChildNodes();
}
</script>
</head>
<body>
<div id="ant"><!--蚂蚁部落--></div>
<span id="show"></span>
</body>
</html>

div元素中具有一个注释节点,所以方法返回值为true。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部