我试过了:
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
答案 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")})