javascript - 为什么我的 nodeValue 属性不起作用?
问题描述
我希望控制台在星期一显示。我尝试使用 innerText 和 outerText 属性,但也没有成功。
const el = document.querySelector("ul");
var child = el.firstChild.nodeValue;
console.log(child)
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Practise App</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<ul class="green">
<li>Monday</li>
<li>Tuesday</li>
</ul>
<script src="index.js" type="text/javascript"></script>
</body>
</html>
解决方案
el.firstChild
是打开后的换行符<ul>
(检查它的.nodeType
哪个是3
for #TextNode
)
const el = document.querySelector("ul");
console.log(el.firstChild.nodeType)
<ul class="green">
<li>Monday</li>
<li>Tuesday</li>
</ul>
使用.firstElementChild
而不是获取第一个在这种情况下Element
是第一个<li>
const el = document.querySelector("ul");
const li = el.firstElementChild;
console.log(li.textContent)
<ul class="green">
<li>Monday</li>
<li>Tuesday</li>
</ul>
推荐阅读
- css - 导入 typekit url 时使用字体显示
- node.js - 如何为我的 NodeJS 应用程序解决这个 DB2 驱动程序错误?
- python - 如何组合两个具有不同类型索引的数据帧(一个是 DatetimeIndex,另一个是 PeriodIndex)?
- android - Android - Retrofit2 - Kotlin:REST API 响应格式与模型不同
- ethereum - 共识发生在 evm 执行之前还是之后?
- python - Emacs python嵌套循环缩进问题
- java - Spring JpaRepositoryn 中的 %Like% 查询
- python - 使用 cv2 从相机捕获视频会打印出满是零的矩阵
- hyperledger-fabric - 使用 cryptogen 和 configtxgen 创建的工件构建网络时,fabric-ca 未启动
- flutter - TextFormField 验证器不起作用 - 在 null 上调用了方法“验证”