按钮元素可以有子节点吗?

詹姆斯·巴洛伊

如果我有一个<b>内部<button>标签,那么它是标签<b>的 childNode<button>吗?考虑下面的代码:

<button id='mooo'><b>Cows can't mooo</b></button>

Javascript:

x = document.getElementById('mooo');
x.addEventListener("Click", mooo);

function mooo(e){
if(e.target.childNode == "B"){
console.log("B is a child of Button");
}else{
console.log("B is not a child of Button");
}

代码返回后者,但我只需要确定 B 是否确实不是 BUTTON 的孩子

TJ克劳德

是的,button元素是有内容的元素。你只是没有正确检查他们的内容;childNode元素没有属性。childNodes(一个集合)、firstChildlastChild和它们的元素版本childrenfirstElementChild、 和lastElementChild,但没有childNode

您还使用了Click而不是click(事件名称区分大小写),并且e.targetwhich 可能是b元素而不是button(您想要thise.currentTarget知道您正在引用button)。

现场示例:

var x = document.getElementById('mooo');
x.addEventListener("click", mooo);

function mooo() {
  if (this.firstElementChild.tagName == "B") {
    console.log("B is a child of Button");
  } else {
    console.log("B is not a child of Button");
  }
  console.log("Contents of the button:");
  for (let child = this.firstChild; child; child = child.nextSibling) {
    switch (child.nodeType) {
      case 1: // Element
        console.log(child.tagName + " element, innerHTML = " + child.innerHTML);
        break;
      case 3: // Text node
        console.log("Text node, nodeValue = " + child.nodeValue);
        break;
      default:
        console.log(child.nodeName);
        break;
    }
  }
}
<button id='mooo'><b>Cows can't mooo</b></button>

相反,input type="button"元素是空元素他们不能有内容,他们的childNodes收藏总是空的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有什么方法可以从父元素继承背景颜色作为子元素的前景色吗?

来自分类Dev

有什么办法可以通过子元素定位元素吗?

来自分类Dev

子节点可以使用D3在可折叠力布局中具有多个父节点吗

来自分类Dev

获取元素的所有子节点

来自分类Dev

有没有一种方法可以通过节点名称获取简单的XML子元素?

来自分类Dev

在Kotti中,内容元素可以有多个通用子视图吗?

来自分类Dev

我可以在ReactJS中包含原始元素的子元素吗?

来自分类Dev

固定的邮件可以有内联按钮吗?

来自分类Dev

标签内可以有按钮吗?

来自分类Dev

如何创建一个xsl模板,该模板可以将元素的名称和值写为KVP,然后递归处理所有同级节点和子节点

来自分类Dev

从元素获取子节点

来自分类Dev

HTML问题:如果我先关闭一个父元素,再关闭一个子节点,可以吗?

来自分类Dev

检查元素是否具有ID名称的子节点

来自分类Dev

ng-disabled可以禁用子元素组吗?

来自分类Dev

您可以为CSS样式添加可选的子元素吗?

来自分类Dev

Couchbase中可以有1024个以上的节点吗?

来自分类Dev

我可以在不编写每个孩子的选择器列表的情况下,选择具有特定类的特定元素的所有子元素吗?

来自分类Dev

为什么当我点击按钮时相对节点的子节点没有删除?

来自分类Dev

在SVG中,有一种方法可以告诉子元素不要与父元素一起转换吗?

来自分类Dev

将父节点的所有元素移动到子节点的 XSLT 代码

来自分类Dev

Firebase:使用.once()检索所有子节点后,监听子节点上的更改吗?

来自分类Dev

如何从内部具有子元素的按钮获取相同的ID,防止子元素单击?

来自分类Dev

有什么方法可以覆盖后退按钮吗?

来自分类Dev

我可以在R Shiny中有多个提交按钮吗?

来自分类Dev

您可以调用带有按钮参数的Sub吗?

来自分类Dev

我可以在R Shiny中有多个提交按钮吗?

来自分类Dev

有什么功能可以模拟sapgui上的回车按钮吗?

来自分类Dev

替换节点的所有子节点时,是否可以测量DOM渲染时间?

来自分类Dev

从元素的子节点获取值

Related 相关文章

  1. 1

    有什么方法可以从父元素继承背景颜色作为子元素的前景色吗?

  2. 2

    有什么办法可以通过子元素定位元素吗?

  3. 3

    子节点可以使用D3在可折叠力布局中具有多个父节点吗

  4. 4

    获取元素的所有子节点

  5. 5

    有没有一种方法可以通过节点名称获取简单的XML子元素?

  6. 6

    在Kotti中,内容元素可以有多个通用子视图吗?

  7. 7

    我可以在ReactJS中包含原始元素的子元素吗?

  8. 8

    固定的邮件可以有内联按钮吗?

  9. 9

    标签内可以有按钮吗?

  10. 10

    如何创建一个xsl模板,该模板可以将元素的名称和值写为KVP,然后递归处理所有同级节点和子节点

  11. 11

    从元素获取子节点

  12. 12

    HTML问题:如果我先关闭一个父元素,再关闭一个子节点,可以吗?

  13. 13

    检查元素是否具有ID名称的子节点

  14. 14

    ng-disabled可以禁用子元素组吗?

  15. 15

    您可以为CSS样式添加可选的子元素吗?

  16. 16

    Couchbase中可以有1024个以上的节点吗?

  17. 17

    我可以在不编写每个孩子的选择器列表的情况下,选择具有特定类的特定元素的所有子元素吗?

  18. 18

    为什么当我点击按钮时相对节点的子节点没有删除?

  19. 19

    在SVG中,有一种方法可以告诉子元素不要与父元素一起转换吗?

  20. 20

    将父节点的所有元素移动到子节点的 XSLT 代码

  21. 21

    Firebase:使用.once()检索所有子节点后,监听子节点上的更改吗?

  22. 22

    如何从内部具有子元素的按钮获取相同的ID,防止子元素单击?

  23. 23

    有什么方法可以覆盖后退按钮吗?

  24. 24

    我可以在R Shiny中有多个提交按钮吗?

  25. 25

    您可以调用带有按钮参数的Sub吗?

  26. 26

    我可以在R Shiny中有多个提交按钮吗?

  27. 27

    有什么功能可以模拟sapgui上的回车按钮吗?

  28. 28

    替换节点的所有子节点时,是否可以测量DOM渲染时间?

  29. 29

    从元素的子节点获取值

热门标签

归档