如何使元素的可见度.hide(), .show(),或.toggle()?

如果一个元素是visiblehidden?


当前回答

您应该考虑的另一个答案是,如果您隐藏了一个元素,您应该使用jj 查询,但实际上没有隐藏它,而是删除了整个元素,但复制了它HTML HTML输入 jQuery 变量,然后您只需要测试屏幕上是否有这样的标记,然后使用普通if (!$('#thetagname').length).

其他回答

您可以在显示时添加一个类。添加一个类,show。然后检查它有一个类:

$('#elementId').hasClass('show');

如果有的话它返回为真show类。

添加像这样的 CSS :

.show{ display: block; }

而不是撰写event每一单element,这样做:

$('div').each(function(){
  if($(this).css('display') === 'none'){
    $(this).css({'display':'block'});
  }
});

您也可以在以下输入中使用:

$('input').each(function(){
  if($(this).attr('type') === 'hidden'){
    $(this).attr('type', 'text');
  }
});

检查隐藏元素的方法太多。 这是最好的选择( 我只是推荐你):

使用 jQuery, 在 CSS 中设定隐藏的元素“ 播放: noone ” 。

重点是:

$('element:visible')

以及一个可供使用的例子:

$('element:visible').show();

公平地说,问题在日期之前这笔回答。

我不是要批评《任择议定书》,而是要帮助任何仍在提出这一问题的人。

确定某物是否可见的正确方法是咨询你的视觉模型;

如果你不知道这意味着什么 那你就要踏上发现之旅 让你的工作变得不那么困难了

以下是对示范 -- -- 观观 -- -- 模型建筑(MVVM)。

击出JS是一个具有约束力的图书馆, 它会让您在不学习整个框架的情况下尝试这些 。

这里有一些 JavaScript 代码和一个DIV 可能可见也可能看不到。

<html>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js"></script>
<script>
    var vm = {
        IsDivVisible: ko.observable(true);
    }
    vm.toggle = function(data, event) {
      // Get current visibility state for the div
      var x = IsDivVisible();
      // Set it to the opposite
      IsDivVisible(!x);
    }
    ko.applyBinding(vm);
</script>
<div data-bind="visible: IsDivVisible">Peekaboo!</div>
<button data-bind="click: toggle">Toggle the div's visibility</button>
</body>
</html>

请注意,切换函数不与国防部协商确定 div 的可见度;它参考视觉模型。

content.style.display != 'none'

function toggle() {
  $(content).toggle();
  let visible= content.style.display != 'none'
  console.log('visible:', visible);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button onclick="toggle()">Show/hide</button>
<div id="content">ABC</div>