javascript - 为什么 previousSibling 不起作用?

标签 javascript html

<分区>

这是演示代码,所以我只想遵循这样的模式:当用户单击按钮时,它会在 h3 标签中显示 anchor 的内部文本。

我的代码

 var a = document.getElementById('btn');
 var b = a.previousSibling.firstChild.innerText;
 alert(b);
<div class="box">
  <p>This is a paragraph</p>
  <h3><a href="#"> Heading </a> </h3>
  <button id="btn">Click Me</button>
</div>

我明白了:

Error is Cannot read property 'innerText' of null

最佳答案

你需要使用previousElementSibling相反

var a = document.getElementById('btn');
var b = a.previousElementSibling.firstChild.innerText;
console.log(b);
<div class="box">
  <p>This is a paragraph</p>
  <h3><a href="#">Heading</a></h3>
  <button id="btn">Click Me</button>
</div>

关于javascript - 为什么 previousSibling 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39414535/

相关文章:

javascript - Angular Material 类型错误: $mdThemingProvider.背景调色板不是一个函数

php - 将 Javascript 结果保存为 PHP 值?

javascript - 如何在以声明方式创建自定义 Dojo 小部件后检索它们

javascript - jQuery load() 不加载正在加载的 html 文件内的图像链接?

html - Chrome 网络应用程序 list : differences between display types

javascript - 鼠标悬停时向图像添加文本

javascript - 当我创建新员工时,下拉列表不会加载数据,但是当刷新页面时,它会加载新数据

javascript - 仅当用户 "wins"时显示内容

javascript - 我该如何修复 Bootstrap 轮播?

html - 是否可以设置html表单输入文本框的选择颜色?