javascript - 如何更改内部元素的样式用JavaScript?
问题描述
我有一个 index.html 像这样:
<div id="mydiv">
Text inside div
<h1>
Header inside div
</h1>
</div>
<h1>
Header outside div
</h1>
我的 style.css 看起来像这样:
#mydiv h1 {
color: blue;
}
要使用 JS 更改“Text inside div”的颜色,我可以这样做:
document.getElementById("mydiv").style.color = "red";
但是如何仅使用 JS 更改“div 内的标题”的颜色?(无需修改 HTML 或 CSS 或更改 div 外的 h1)
解决方案
使用document.querySelector
,您可以在选择器中选择h1
标签#mydiv
。
document.getElementById("mydiv").style.color = "red";
document.querySelector("#mydiv h1").style.color = "yellow";
#mydiv h1 {
color: blue;
}
<div id="mydiv">
Text inside div
<h1>
Header inside div
</h1>
</div>
<h1>
Header outside div
</h1>
推荐阅读
- google-sheets - 错误“IF 的参数数量错误。预期在 2 到 3 个参数之间,但得到 1 个参数”
- python - Faster-RCNN:RPN 是否将图像裁剪到锚点或锚点本身(xcenter、ycenter、width、height)?
- sql - 如何修复此错误:Microsoft.Data.SqlClient.SqlException (0x80131904): Invalid column name 'NormalizedEmail' 等
- java - Java中的日期差异计算不包括周末
- android - 定位到 Android 12 时,由于 pendingIntent 导致应用程序崩溃
- java - 使用 Hibernate 合并多个对象
- next.js - NextJS获取url参数一开始就返回空
- spring - 使用构造型注释创建 Bean 时,Spring Context 似乎无法识别它。抛出 NoSuchBeanDefinitionException
- powershell - Powershell - 添加数组
- sass - SASS 在 math.div() 中存在变量问题