javascript - 如何在 javascript 中切换两个元素而不删除

标签 javascript jquery

我有这个html

<div>
<span data-disabled class="myclass"> like </span>
<span class="myclass"> unlike </span>
</div>

scss是这样的

myclass{
     visibility: visible;
        cursor: pointer;

        &[data-disabled] {
            visibility: hidden;
        }
}

基于点击我正在这样做

        this.select('like').attr('data-disabled', true);
        this.select('unlike').removeAttr('data-disabled');

它工作正常,但我的喜欢和不喜欢彼此相邻显示,并且它们隐藏并在原始位置变得可见。

有什么办法可以拥有相同的位置,当我隐藏和取消隐藏时,它们会互相覆盖。

最佳答案

问题出在您正在使用的可见性属性上。您必须使用 display:none 以便该项目在隐藏时不会占用空间。

而不是

visibility: hidden;

使用

display: none;

您可以阅读有关 it here 的更多信息.

关于javascript - 如何在 javascript 中切换两个元素而不删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25986873/

相关文章:

jquery - 如何将 TinyMCE 源代码 View 面板的宽度更改为 100%

javascript - 如何实际拦截 res.render

javascript - 向下滚动时如何创建一个小窗口?

javascript - three.js 3d 模型作为超链接

javascript - Paypal 在故障转移中如何工作

javascript - Switch 语句可以与退格键配合使用,而 if 语句则不能吗?

php - 遍历每个元素

javascript - 使用 jquery 替换 JSON 数组值

javascript - 如何以json格式存储日期并在给定范围内一一显示它们?

javascript - 在 AngularJS 上使用 Typescript 的指令中 Controller 的范围