You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript批量修改div中所有段落的字体大小与行高?

批量修改div下所有段落样式的解决方案

你遇到的问题根源在于:document.querySelector('.textcont p')只会返回第一个匹配的<p>元素,所以只有第一个段落的样式被修改;而CSS选择器.textcont p会选中所有符合条件的元素,因此能批量生效。

要让JavaScript实现批量修改,只需改用document.querySelectorAll('.textcont p')获取所有目标段落,再遍历每个元素修改样式即可。

修改后的JavaScript代码

// 获取.textcont下的所有p元素
const textContPs = document.querySelectorAll('.textcont p');
// 遍历每个元素设置样式
textContPs.forEach(p => {
  p.style.lineHeight = "5vw";
  p.style.fontSize = "3vw";
});

如果需要兼容不支持forEach的旧环境,也可以用传统for循环:

const textContPs = document.querySelectorAll('.textcont p');
for (let i = 0; i < textContPs.length; i++) {
  textContPs[i].style.lineHeight = "5vw";
  textContPs[i].style.fontSize = "3vw";
}

更优的响应式方案(推荐)

其实移动端响应式样式更推荐用CSS媒体查询实现,无需JavaScript介入,代码更简洁高效:

.textcont p {
  font-size: 4vw;
  line-height: 5vw;
}

/* 针对移动端屏幕调整样式 */
@media (max-width: 768px) {
  .textcont p {
    font-size: 3vw;
    line-height: 5vw;
  }
}

对应的HTML结构保持不变:

<div class="textcont">
  <p>test</p>
  <p>test2</p>
</div>

内容的提问来源于stack exchange,提问作者Ethan Cotler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:06:29