javascript - 使用 JQuery 根据另一个 DIV 中文本的长度修改 DIV

标签 javascript jquery html css if-statement

我有一系列填充有图像、标题和摘录的 div。 许多“内容”div 都有一个带有两行标题的 div,但如果标题是一行(24 个字符或更少),我希望“摘录”div 添加一个不同的类。

我想我会有一个 jQuery 函数运行在每个“.content”div 中,然后一个 if 语句比较“.contentTitle”中的字符数量,如果为真,那么它会将一个类应用于“.excerpt” ' 在同一个父 .content div 中的 div。

我下面的内容不起作用。我想知道是不是因为我使用的两个 div (.contentTitle/.contentExcerpt .excerpt) 都是容器 div (.content) 的子元素

$(".content").each(function(){
  if($(".contentTitle").text().length < 22) {
    $(".contentExcerpt .excerpt").addClass('TEST');
  }
});
<div class="content">
  <div class="contentImage"></div>
  <div class="contentTitle"><?php the_title(); ?></div>
  <div class="contentExcerpt">
    <div class="excerpt">
      <?php echo(get_the_excerpt()); ?>
    </div>
  </div>
</div>

最佳答案

当您使用容器 div ( .content ) 的子级时,您没有检查 div 的子级,而当有多个 $(".contentTitle").text().length < 22 父级 div 并且其中一个是有了 .content ,条件就会失败。

我修改了下面的代码来检查父 div 的子元素。

$(".content").each(function(){
  var parent = $(this);
  if(parent.find(".contentTitle").text().length < 22) {
    parent.find(".contentExcerpt .excerpt").addClass('TEST');
  }
});
.TEST {
  color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="content">
  <div class="contentImage"></div>
  <div class="contentTitle">12345678901234567890123</div>
  <div class="contentExcerpt">
    <div class="excerpt">
      Test content
    </div>
  </div>
</div>

<div class="content">
  <div class="contentImage"></div>
  <div class="contentTitle">12345678901234567890</div>
  <div class="contentExcerpt">
    <div class="excerpt">
      Test content
    </div>
  </div>
</div>

注意:如果您替换上面的代码,您会看到,这并没有改变颜色,因为匹配的 div 之一具有 length >= 22

关于javascript - 使用 JQuery 根据另一个 DIV 中文本的长度修改 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40730789/

相关文章:

javascript - Node 总是返回空数组

javascript - JQuery 对话框 - 仅在单击按钮时加载

javascript - 将鼠标悬停在 CSS 中的列表项上时如何触发 div 可见性?

javascript - 在 js 文件中找不到 Django、Ajax url

javascript - 如何使用 Javascript 计算元素内使用的单词?

php - Rel 属性在 mysql 数据库中不起作用

javascript - 如何使用 Bootstrap 为平行列 div 添加/提供完整高度?

javascript - 使用按钮单击重定向到选定单选按钮上的不同页面

javascript - MongoDB/ Mongoose : MarkModified a nested object

javascript - 为什么不点击按钮就调用函数?