javascript - Haschildnodes() 不起作用

标签 javascript asp.net

我在网页上有一个 TreeView 和一个删除按钮。 TreeView 加载父节点和子节点。如果我在选择带有子节点的父节点后单击删除,它应该给我一条消息,相应地在下面提供一个确认框。

现在,当我选择一个没有任何子节点的父节点时,它会给我以下消息:“该元素至少有一个子节点。”。 当它应该给我这条消息时:“该元素没有子元素。”

代码:

function check() {
    var treeViewData = window["<%=nav_tree_items.ClientID%>" + "_Data"];
    var selectedNode = document.getElementById(treeViewData.selectedNodeID.value);

    var hasChilds = selectedNode.hasChildNodes();

    if (hasChilds) {
        alert("The element has at least one child.");
    } else {
        alert("The element has no children.");
    }

请帮忙。 谢谢你,如果我的解释可能造成混淆,我深表歉意

最佳答案

尝试检查

var hasChilds = selectedNode.children.length > 0;

这将检查元素而不是 childNodes,后者将检查元素和文本节点,它们可能来自标记中的空白。

关于javascript - Haschildnodes() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8565928/

相关文章:

javascript - 使用来自 html 表单的多个输入作为 url 中的变量进行 ajax 调用

javascript - 在javascript中用另一个数组过滤多维数组

javascript - $ ("user-input").is (":focus") 、 ("*:focus") 、 ("input:focus") 不起作用

javascript - 关于内容分发网络 CDN 的问题

c# - Azure 网站配置错误

c# - 嵌套在 GridView 中的 Databound 转发器不会更新

php - 如何在浏览器中存储缓存?

c# - 绘制并填充一个简单的矩形

javascript - 在javascript中添加时间(以秒为单位)

c# - Visual Studio 2010 中的 global.asax.cs 在哪里