JavaScript 仅当 div 类存在时才向 div 添加样式

标签 javascript

我试图在某些 div 上设置一些内联样式,但只有当 div 和类存在于页面中时才可以

基本上,我有一个 slider ,我想在一些 slider div 上应用标题高度进行调整,但这个 slider 并不存在于每个页面上,所以我希望 JS 仅在页面有 slider 和类

我已经尽力使用下面的代码,但不确定为什么它不起作用,可能是一个愚蠢的错误 :) 这里是新手

var HeaderHeight = document.getElementsByClassName("Header").offsetHeight;
var slideContent = document.getElementsByClassName("slide-container");
var slideSwipes = document.getElementsByClassName("SwiperNav");
if (slideContent.length > 0 || slideSwipes.length > 0) {
  slideContent.style.paddingTop = HeaderHeight + "px";
  slideSwipes.style.top = HeaderHeight + "px";
}

顺便说一句!如果你认为有更好的方法来做一个简单的例子:)

最佳答案

您可以使用 for 循环 迭代元素。slideSwipesslideContent 都是相同的长度

var HeaderHeight = document.getElementsByClassName("Header");
var slideContent = document.getElementsByClassName("slide-container");
var slideSwipes = document.getElementsByClassName("SwiperNav");
if (slideContent.length > 0 || slideSwipes.length > 0) {
  for (var i = 0; i < slideSwipes.length; i++) {
    slideContent[i].style.paddingTop = HeaderHeight[i].offsetHeight + "px";
    slideSwipes[i].style.top = HeaderHeight[i].offsetHeight + "px";
  }
}

工作示例

var HeaderHeight = document.getElementsByClassName("Header");
var slideContent = document.getElementsByClassName("slide-container");
var slideSwipes = document.getElementsByClassName("SwiperNav");
if (slideContent.length > 0 || slideSwipes.length > 0) {
  for (var i = 0; i < slideSwipes.length; i++) {
    slideContent[i].style.paddingTop = HeaderHeight[i].offsetHeight + "px";
    slideSwipes[i].style.top = HeaderHeight[i].offsetHeight + "px";
  }
}
.slide-container{
height:50px;
}
.SwiperNav{
height:10px;
}
<div class="Header">ssx
<div class="slide-container">sxs</div>
<div class="SwiperNav">sxs</div>
</div>
<div class="Header">ssx
<div class="slide-container">sxs</div>
<div class="SwiperNav">sxs</div>
</div>
<div class="Header">ssx
<div class="slide-container">sxs</div>
<div class="SwiperNav">sxs</div>
</div>

关于JavaScript 仅当 div 类存在时才向 div 添加样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44048149/

相关文章:

javascript - 为什么我的输出没有显示在我的 div 中?

javascript - jQuery .text() 方法 XSS 安全吗?

javascript - 与多个 React 组件一起使用时,svg 无法正确渲染

javascript - 使用 Javascript 隐藏和显示 div - 打开新标题时隐藏

javascript - OWL Carousel 2 宽度不正确,显示所有元素

javascript - Node js mongodb中的增量计数器

javascript - 如何使用键盘移动 svg 路径中​​的对象

javascript - 如何拥有无 Chrome YouTube 播放器并随时开始/停止播放?

javascript - 运行 Google 的 Javascript Maps API 时可能存在哪些限制?

javascript - 我如何禁用输入字段的自动填充功能