javascript - 如果父 div hasClass() 则显示跨度

标签 javascript jquery html css

我正在用这个问题折磨自己。我不知道在做什么。这很简单,但就是行不通。当 div 有一个 class 时,我想显示一个 span 元素。是的,很基本,但我无法让它工作。

这是我的 HTML 类 add-product

<div id="ot-pr" class="status-publish has-post-thumbnail hentry add-product">
    <span class="arrow">Testing</span>
</div>

这是 JavaScript

$(document).ready(function($){
    if ($("#ot-pr").hasClass('add-product')){
        $(".arrow").show();
    } else { 
        $(".arrow").hide();
    }
});

这是 .arrow 的 CSS

.arrow {
    display: none;
    width: 0; height: 0;
    line-height: 0;
    border-right: 16px solid transparent;
    border-top: 10px solid #c8c8c8;
    top: 60px;
    right: 0;
    position: absolute;
}

我试过什么,添加一个 find(span) 并添加 else if:

$(document).ready(function(){
    if ($("#ot-pr").hasClass('add-product')){
        $(".arrow").find('span').show();
    } else if { 
        $(".arrow").hide();
    }
});

单独或一起都不起作用。为什么这不起作用。这应该是基本的吧?!我没有收到任何控制台错误,并且 jQuery.js 已添加到页面中。所有其他脚本都可以正常工作。

最佳答案

这里不需要JS,只用CSS就可以实现:

.arrow {
  display: none;    
  /* simplified CSS for the example */
}
div.add-product .arrow {
  display: block;
}
<div id="ot-pr" class="status-publish has-post-thumbnail hentry add-product">
  <span class="arrow">arrow 1</span>
</div>

<div id="ot-pr" class="status-publish has-post-thumbnail hentry add-product">
  <span class="arrow">arrow 2</span>
</div>

<!-- not visible -->
<div id="ot-pr" class="status-publish has-post-thumbnail hentry">
  <span class="arrow">arrow 3</span>
</div>

关于javascript - 如果父 div hasClass() 则显示跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38743833/

相关文章:

php - 下拉菜单返回显示 "Please Select"并且未出现失败/成功消息

html - 动态网格 CSS

html - Iframe pdf 滚动在 IOS 设备(iPhone、iPad)中不可见

java - 需要一个用 Java 编写的 Java 和 Javascript diff 工具

javascript - 使用 Puppeteer,如何从 <h1> 标签中获取文本?

javascript - Internet Explorer javascript 滚动功能问题

Jquery Datepicker 占位符在模糊后不显示

javascript - 使用 require.js 实现 jQuery 的正确方法

javascript - 如何在 TypeScript 中包装的 addEventListener 调用中正确键入事件处理程序

JavaScript:好的部分 白色空间铁路图令人困惑