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

时间:2021-01-06 11:25:37

标签: javascript jquery

我试过了:

var $childNodes = $(".definition").children();
console.log($childNodes.filter(':visible').text());

来自Get only visible text within an html element and child elements 我从父元素中取回所有元素,并将 visibility 设置为 hidden 而不是 visible

完整代码位于 repl preview panel

2 个答案:

答案 0 :(得分:0)

:visible 适用于显示而不适用​​于可见性,因为可见性会占用布局空间,也不透明度 .

$(".definition").children().filter(function(){ return $(this).css("visibility")=="visible"});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="definition">
     
  <div style= "visibility:hidden" class="definitionAgelenidae">Family:Agelenidae:Definition</div>
    <div style= "visibility:visible" class="definitionYorimaGenus">Genus:Yorima:Definition</div>
    <div style= "visibility:hidden" class="definitionYorima_angelica">Yorima angelica Roth:Definition</div>
    <div style= "visibility:hidden" class="definitionCybaeusGenus">Genus: Cybaeus:Definition</div>
</div>

答案 1 :(得分:0)

$(".definition").children().filter(function(index, ele){return $(ele).is(":visible")})
相关问题