gpt4 book ai didi

javascript - 非 jQuery 相当于 :visible in JavaScript?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:09:18 25 4
gpt4 key购买 nike

所以 jQuery 提供了这个很棒的伪类来在 DOM 中查询“:visible”,不幸的是,它与 jQuery 和 Sizzle(或您可能使用的任何引擎)的核心紧密相关。当只知道给定元素时,在普通 JavaScript 中是否有一个很好的等价物?

关于 jQuery 的提醒:可见规则:

  • 它们的 CSS 显示值为 none。
  • 它们是 type="hidden"的表单元素。
  • 它们的宽度和高度明确设置为 0。

祖先元素是隐藏的,因此该元素不会显示在页面上。

注意:只检查给定元素的样式并不总是有效:可能会隐藏父元素而不是隐藏所有子元素。

最佳答案

您可以从source code获取相关代码:

jQuery.expr.filters.hidden = function( elem ) {
var width = elem.offsetWidth,
height = elem.offsetHeight;

return ( width === 0 && height === 0 ) ||
(!jQuery.support.reliableHiddenOffsets &&
((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none");
};
  • jQuery.css 可以替换成getComputedStyle (或 IE 的 .currentStyle)。
  • jQuery.support.reliableHiddenOffsets 是一个变量,用于确定属性是否可靠 (IE8-)。

关于javascript - 非 jQuery 相当于 :visible in JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com