javascript - jQuery addClass 之后/之前

标签 javascript jquery

<div id="box"></div>
<div class="text"></div>?



$(document).ready(function () { 
$('#box').click(function () {
      $('.text').slideToggle('slow');
  });


});


#box{
height:40px;
width:100px;
background:red;
}

#box:hover{background:blue;}

#box:after{
content: "";
height: 10px;
position: absolute;
width: 0;
margin-top:40px;
margin-left:40px;
border: 10px solid transparent;
border-top-color: red;
}


#box:hover:after{

border-top-color: blue;
}

.text{

display:none;
height:40px;
width:100px;
background:#fd0;
margin-top:20px;
}

http://jsfiddle.net/zfQvD/16/

是否可以使用 jQuery 添加样式化的 after 箭头? 当text class关闭时,删除after箭头类 如果显示 text class,则添加箭头? 我尝试过,但似乎不起作用

最佳答案

根据 @elclanrs 评论,您不能使用 JS 添加伪元素。但是,您可以做的是在 CSS 中声明它们仅在父元素具有特定类时显示,然后使用 JS 切换此类,如下所示:

#box.expanded:after {
 content:'';
 height: 10px;
 position: absolute;
 width: 0;
 margin-top:40px;
 margin-left:40px;
 border: 10px solid transparent;
 border-top-color: red;
}

您还必须在 JS 中添加一行,以便在单击该框时添加此类:

$('#box').click(function () {
  $(this).toggleClass('expanded');
  $('.text').slideToggle('slow');
});

请参阅此处的示例:http://jsfiddle.net/zfQvD/17/

关于javascript - jQuery addClass 之后/之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13372132/

相关文章:

javascript - 为什么我的 TinyMCE 隐藏文本区域出现问题?

javascript - 所有外部 js 和 css 文件上的 Gulp 和浏览器同步 404

javascript - jQuery :visible working but :hidden does not

javascript - toISOString() 返回错误的日期

c# - 在 JavaScript 和 C# Controller 之间传递数据 : Asp.Net MVC 4 Razor

javascript - 使用 JS 计算所有已检查行的字段总和

javascript - 如何对基于预加载图像进行排队以便浏览器缓存并在其他页面中使用

jquery - 如何从 ajax POST 表单提交中使用 Flask 的 render_template

javascript - 如何在 Angular 模板中正确插入嵌套属性 getter?

jquery - MVC 与 jquery 捆绑在调试中不起作用