使用JavaScript仅查找可见元素

德达米史密斯

我正在努力将JQuery项目覆盖为纯JavaScript,并且我受制于以下代码。

$(".element-has-class:visible")

我认为也许可以遵循这些原则来捕获所有可见元素(对于我的项目列表项),但是我没有运气:

function functionName (){
  var elementsOnShow = document.getElementsByClassName('element-has-class').find(isVisible);
}

function isVisible(element) {
  return element.style.display === 'block';
}

block已在CSS中设置)。无论如何,是否将所有可见元素都包含在一个变量中?

布莱克斯

您可以将nodeList转换为Array(在此处了解更多信息),这将允许您使用它Array.prototype.filter()来获取可见元素:

function functionName (){
  var myNodeList = document.getElementsByClassName('element-has-class'),
      myArray = [].slice.call(myNodeList),
      elementsOnShow = myArray.filter(isVisible);
}

function isVisible(element) {
  return element.offsetWidth > 0
      || element.offsetHeight > 0
      || element.getClientRects().length > 0;
}

isVisible您在上面看到功能是从jQuery 2.2.4的源代码中提取的(版本3.XX与IE 8及更低版本不兼容)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用量角器查找所有可见元素

来自分类Dev

如何仅选择搜索结果中的可见元素

来自分类Dev

如何使用JavaScript / jQuery将ASP面板元素设置为可见/隐藏

来自分类Dev

仅使用CSS更改div元素的可见性

来自分类Dev

在Javascript中的(x,y)坐标处查找元素(可见的最高元素)

来自分类Dev

使用单选按钮的HTML元素的Javascript过滤器可见性

来自分类Dev

仅当没有通过CSS的同级元素时可见

来自分类Dev

使用JavaScript添加Display:none后检测元素的可见性

来自分类Dev

如何在AngularJS下使用jqlite查找第一个可见元素?

来自分类Dev

我可以仅使用CSS来检测元素可见性吗?

来自分类Dev

硒:通过可见文本查找元素

来自分类Dev

查找容器中的所有可见元素

来自分类Dev

如何仅获取父元素的可见子元素?

来自分类Dev

在滑块div中查找可见元素

来自分类Dev

滚动时查找div元素的可见高度

来自分类Dev

如果我使用jQuery的.hide()和.show()方法,如何将javascript验证仅应用于HTML页面上的可见元素?

来自分类Dev

如何使用变量使HTML元素可见

来自分类Dev

有什么方法可以仅使用javascript检查元素在视口中是否可见?

来自分类Dev

使用javascript检查表单元素是否可见

来自分类Dev

QWebView在不可见元素中查找文本

来自分类Dev

jQuery仅过滤可见元素

来自分类Dev

通过JavaScript使元素可见

来自分类Dev

使用JavaScript切换元素的可见性

来自分类Dev

我可以仅使用CSS来检测元素可见性吗?

来自分类Dev

硒:通过可见文本查找元素

来自分类Dev

javascript计算可见元素

来自分类Dev

使用JavaScript仅查找可见元素

来自分类Dev

selenium:使用cssSelector时元素不可见,而使用xpath时元素可见

来自分类Dev

如何使用Selenium使Xpath元素可见?

Related 相关文章

  1. 1

    使用量角器查找所有可见元素

  2. 2

    如何仅选择搜索结果中的可见元素

  3. 3

    如何使用JavaScript / jQuery将ASP面板元素设置为可见/隐藏

  4. 4

    仅使用CSS更改div元素的可见性

  5. 5

    在Javascript中的(x,y)坐标处查找元素(可见的最高元素)

  6. 6

    使用单选按钮的HTML元素的Javascript过滤器可见性

  7. 7

    仅当没有通过CSS的同级元素时可见

  8. 8

    使用JavaScript添加Display:none后检测元素的可见性

  9. 9

    如何在AngularJS下使用jqlite查找第一个可见元素?

  10. 10

    我可以仅使用CSS来检测元素可见性吗?

  11. 11

    硒:通过可见文本查找元素

  12. 12

    查找容器中的所有可见元素

  13. 13

    如何仅获取父元素的可见子元素?

  14. 14

    在滑块div中查找可见元素

  15. 15

    滚动时查找div元素的可见高度

  16. 16

    如果我使用jQuery的.hide()和.show()方法,如何将javascript验证仅应用于HTML页面上的可见元素?

  17. 17

    如何使用变量使HTML元素可见

  18. 18

    有什么方法可以仅使用javascript检查元素在视口中是否可见?

  19. 19

    使用javascript检查表单元素是否可见

  20. 20

    QWebView在不可见元素中查找文本

  21. 21

    jQuery仅过滤可见元素

  22. 22

    通过JavaScript使元素可见

  23. 23

    使用JavaScript切换元素的可见性

  24. 24

    我可以仅使用CSS来检测元素可见性吗?

  25. 25

    硒:通过可见文本查找元素

  26. 26

    javascript计算可见元素

  27. 27

    使用JavaScript仅查找可见元素

  28. 28

    selenium:使用cssSelector时元素不可见,而使用xpath时元素可见

  29. 29

    如何使用Selenium使Xpath元素可见?

热门标签

归档