javascript - 删除属性并刷新元素

标签 javascript jquery html css

我的页面上有 div,其中包含我希望在单击另一个元素之前一直隐藏的内容。

隐藏它们时我有 3 个选择:

可见性:隐藏 - 不喜欢这样,因为包含内容的 div 仍在我的布局中占用空间

display: none - 这行得通,但内容现在对搜索引擎不可用。

定位、剪裁和(几乎)折叠 - 我通过谷歌搜索找到了这种方法,它具有以下内容:

.element-invisible {
  position: absolute !important;
  height: 1px; width: 1px; 
  overflow: hidden;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
}

这似乎符合我的要求,并使内容可搜索。

现在我想在用户单击另一个元素时显示该内容。

我想我可以使用 .removeAttr(),这会删除所有设置并显示我的内容,然后使用 attr() 将它们重新设置。

好吧,我并没有走得太远,因为 .removeAttr() 似乎没有显示 div。真的什么都没发生,哈哈。

难道我的想法全错了吗?

最佳答案

正如最新的 Bootstrap 所建议的,您可以以此为例:

.element-invisible {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

关于javascript - 删除属性并刷新元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45812728/

相关文章:

php - 如何使 html 表格单元格信息仅可供输入信息的用户访问

javascript - 不能在 React Native 中只调用一次函数?

javascript - HTML5-WebRTC如何记录

javascript - 移动浏览器上更大的复选框

javascript - 如何最好地跟踪视频的播放时长?

javascript - jQuery 鼠标悬停事件处理程序不工作或被检测到

jquery - 拥有 'position:fixed'(始终位于顶部)div 的最简单的 jQuery 方法是什么?

javascript - JQuery Animate ScrollTop 不起作用

javascript - 鼠标拖动后无法仅显示 3 个缩略图

jquery - 使用缓动切换 div