내가 할 수있는 몇 가지 방법이 있습니다 (알고 있습니다).DOM에서 요소를 테스트하는 가장 좋은 방법은 무엇입니까
테스트 CSS 표시
if ($('#foo').css('display') == 'none')
테스트 요소가 있는지 I 확인할 수있는 시인성 시인성
if ($('#foo').is(':visible'))
.
Source요소는 문서의 공간을 소비하는 경우 눈에 보이는 것으로 간주됩니다. 보이는 요소의 너비 또는 높이가 0보다 큽니다.
가시성이있는 요소 : 숨김 또는 불투명도 : 0은 여전히 레이아웃에서 공간을 사용하기 때문에 으로 볼 수 있습니다.
하지만, 때문에 내가 (사용자가) 표시 여부를 테스트 할 수 없습니다 모두 점에 유의 : 요소를 숨기기
이내가 테스트 예제도에 따라서에 표시 속성을 설정하여 수행 할 수 있습니다 "none"또는 visibility 속성을 "hidden"으로 설정합니다. 그러나 이러한 두 가지 방법이 다른 결과를 것을 알 수 :
가시성 : 숨겨진 요소를 숨 깁니다,하지만 여전히 이전과 같은 공간을 차지합니다. 요소가 숨겨 지지만 여전히 레이아웃에 영향을줍니다.
display : none 요소를 숨기지 않으며 아무런 공간도 차지하지 않습니다. 요소가 거기 인 것처럼 요소는 숨겨집니다, 페이지가 표시됩니다 : 요소가 모든 의미로 볼 경우
사용자.
그래서 제 질문은 : 위의 두 가지의 경우 코드의 차이점 뭐하는
- ?
- 은 어떤 요소가 사용자에게 표시하는 경우 테스트하는 가장 좋은 방법 :
내가 같은 것을 사용해야 하는가 :
if ($('#foo').is(':visible') &&
$('#foo').css('opacity') > 0 &&
$('#foo').css('visibility') != 'hidden')
마지막 코드 블록을 사용해 보았습니까? –
** 1. ** 요소가 사용자에게 표시되는지를 테스트하는 가장 좋은 방법은 무엇입니까? >>'$ ('# foo'). (': visible')는 요소가 사용자에게 표시되는지 (표시되는 의미인지) 확인하는 가장 좋은 방법입니다. ** 2. 위의 두 코드는? >> 당신은 'visible'과 'display'의 차이점을 인용했습니다. 자, 이제 당신의 질문은 무엇입니까? –
완벽하게 보이지만 'z-index'를 통해 다른 요소가 맨 위에 위치하게 된 요소는 어떻습니까? 이 최상위 div에 불투명 한 배경이 있으면 어떻게할까요? 또는 투명 한 것? 아니면 부분적으로 투명한 것인가? "아래"요소가 보이는 것으로 간주됩니까? – Jon