使用Javascript进行Dom遍历

使用Javascript进行Dom遍历,javascript,Javascript,如何访问标签。我当前选择的是一个元素,它是按钮的子元素。我试过了,但只能找到父母,那是按钮 请注意,我在页面上有多个元素 请注意,我纯粹需要java脚本,因为我使用的是谷歌标签管理器中的自定义java脚本 所以基本上我使用下面的代码。只需一个标题{{clickelemet}}这里是元素 函数(){ ---------------HTML元素----------------------- <div class="col-12 col-md-10 offset-md-1">

如何访问
标签。我当前选择的是一个
元素,它是按钮的子元素。我试过了,但只能找到父母,那是按钮

请注意,我在页面上有多个
元素

请注意,我纯粹需要java脚本,因为我使用的是谷歌标签管理器中的自定义java脚本

所以基本上我使用下面的代码。只需一个标题{{clickelemet}}这里是
元素 函数(){

---------------HTML元素-----------------------

<div class="col-12 col-md-10 offset-md-1">
                                    <h2>Blockchain – Opportunities &amp; Challenges across Multiple Industries</h2>
                                    <p>It began with Bitcoin, but now it has spread. Blockchain has the potential to radically transform the way industries do business. Here are some examples of success and challenges as blockchain inserts itself into transactions and process.</p>
                                    <button class="panel__link panel__link--btb" aria-expanded="false" aria-controls="panel-1">
                                        <i>+</i> <span>Expand article</span>
                                    </button>
                                </div>

区块链——跨多个行业的机遇和挑战
它始于比特币,但现在已经蔓延开来。区块链有可能彻底改变行业的经营方式。以下是一些成功的例子和挑战,因为区块链将自身插入交易和流程中

+扩展文章
谢谢你的支持。

还有

document.getElementsByTagName("h2");

检索DOM中的第一个
h2
如果页面中只有一个,请使用

getElementsByTagName(“h2”)[0];
如果你有多个标签

var parent = document.getElementById('<your-class>');
var child = parent.getElementById('<your-class>')[0];
var parent=document.getElementById(“”);
var child=parent.getElementById(“”)[0];

我猜,您是在按钮元素上添加了一个单击事件。如果是这样,那么单击事件也可以在其子元素(即span)上实际触发。因此,为了获取按钮元素的父元素,您必须检查事件。目标:

document.querySelector('button.panel__link').addEventListener('click', 
    function(e){
      var el, elContent;
      if(e.target.className === "panel__link panel__link--btb"){
         el = e.target.parentElement.querySelector('h2');
         elContent = el ? (el.textContent || el.innerText) : undefined;
      }

});

您好,我已经添加了有关我试图实现的内容的更多信息。发布一个工作片段,而不是使用大括号。请给我们一个真实的click元素id及其对应的html元素。
span
元素在哪里?我假设您根本无法编辑html。{{click element}。nodename=span元素包含文本“扩大条款"。这就是它在Google标记管理器中的引用方式:)你不能在getElementById中使用类名,而且getElementById返回一个HtmleElement而不是数组。你可能会想到
getElementByClassName
?而且如果你知道id,你不需要在父级中查找它。@clabe45需要遍历DOM链。我会的尝试使用while循环直到父循环结束
var parent = document.getElementById('<your-class>');
var child = parent.getElementById('<your-class>')[0];
document.querySelector('button.panel__link').addEventListener('click', 
    function(e){
      var el, elContent;
      if(e.target.className === "panel__link panel__link--btb"){
         el = e.target.parentElement.querySelector('h2');
         elContent = el ? (el.textContent || el.innerText) : undefined;
      }

});