Javascript getElementsByTagName()为自定义标记返回0个结果

Javascript getElementsByTagName()为自定义标记返回0个结果,javascript,dom,tags,Javascript,Dom,Tags,我正在尝试从自定义标记获取所有元素,例如 例如,var elm=document.getElementsByTagName('bring-home'),i console.log("Number of Elements: "+elm.length); 上面的返回值为0,我刚刚发现这会导致代码中出现其他问题。是否有某些原因导致此函数无法提取我的自定义标记?如何修复?好的 脚本返回0个元素,因为它是在页眉中加载的,而不是在页面加载之后加载的 为了解决这个问题,我简单地绑定了document.ge

我正在尝试从自定义标记获取所有元素,例如

例如,
var elm=document.getElementsByTagName('bring-home'),i

console.log("Number of Elements: "+elm.length);
上面的返回值为0,我刚刚发现这会导致代码中出现其他问题。是否有某些原因导致此函数无法提取我的自定义标记?如何修复?

好的

  • 脚本返回0个元素,因为它是在页眉中加载的,而不是在页面加载之后加载的

    • 为了解决这个问题,我简单地绑定了
      document.getElementsByTagName
      函数,并将其加载到
      html中
  • 我仍然在使用一个脚本(上面没有提到)时遇到问题,该脚本指向
    element.addEventListener('click',function()…)

    • 通过将(此)传递给函数以引用对象,对其进行了更正。(可能与其他用户相关)

  • 感谢您帮助解决此问题。

    编写HTML而不是编写自己的元素。对我来说很好->,但您为什么要这样做?您是否有可能使用旧版本的IE?我使用的是FF 36.0最新版本。我在Chrome上试过(虽然我不知道那是什么版本),所以,我尝试只将事件侦听器添加到特定类型的标记(单击)。定制标签设计为定制元素,但我仍在学习。我可能需要使用document.regsiterement()或其他什么吗?我有一个局部修复。在JSFIDLE中看到adeno的代码后,我意识到调用该函数太早了。所以我从onLoad而不是在header中调用它。现在它注册元素。如果解决了总体问题,将更新。谢谢