2011-10-06 3 views
0

jQuery - How do you say 거기에 어떤 divs 속성 표시 == 블록과 x 전화가?jQuery - How do you say 거기에 속성 표시 == 차단과 x라는 div가 있습니까?

Jquery의 특정 속성으로 특정 div를 태그 지정하는 방법은 무엇입니까?

및 의한

"X 소위"

덕분에 ... 난 당신이 "X"는 무엇을 의미하는 따라 X의 클래스 이름

+1

: 반면에 당신은 그냥 예 (가시 div 요소하지 nonedisplay 속성 값을 가진 사람들을 찾고 있다면, 당신은 visible 의사 선택을 사용할 수 있습니다 id x? divs with class x? –

+1

-1. 공식적인 jQuery 문서는 매우 명확합니다. – maxedison

답변

4

를 사용하여 다음과 같은 코드를 볼 수있는 div를 대상으로 다음과 같습니다

,
var DivsWithDisplayBlock = $("div.x").filter(function(){ 
    return $(this).css("display") == "block"; 
}); 

이 정의 된 변수는 display:block 인 모든 div에 대한 참조를 포함하는 JQuery 개체입니다. 예를 들어 display:block 속성을 가진 div가 몇 개인 지 궁금한 경우 alert(DivsWithDisplayBlock.length)을 사용하십시오.

참고 : * all divs called x라고하셨습니다. 나는 당신이 .x 클래스를 가진 모든 DIV에 대해 말하고 있다고 가정합니다. div로 전화를 걸 수있는 다른 가능한 방법은

  • #id - ID입니다. 이것은 고유해야하며 한 번만 발생합니다. ID가 x 인 요소를 여러 개 정의한 경우 id=class=
  • [name="x"] - 이름으로 선택하여 변경하는 것이 좋습니다.

편집 (코멘트)
속성 변경 다음 .css() 방법은 DivsWithDisplayBlock에 의해 참조되는 각 요소에 display:none을 추가합니다

DivsWithDisplayBlock.css("display", "none"); 

.

DIV.x 요소의 여러 스타일을 변경하려면 .toggleClass("x-visible", "x-invisible")을 사용하는 것이 좋습니다. 스타일 시트에서 스타일 속성을 정의하십시오 (.x-visible, .x-invisible). 일치하는 요소에서 .toggleClass(..) 메서드를 실행하면 클래스 이름이 바뀝니다.

예 :

var divs = $(".example").filter(function() { 
    return $(this).css("display") == "block"; 
}); 

:

/* CSS*/ 
.x-invisible {display:none;} 
.x-visible {display:block;} 

/* JavaScript */ 
$(".x").toggleClass("x-invisible", "x-visible"); 
+1

+1 우아한 해결책 –

+0

아주 멋지다! 어떻게 표시 할 것인가? == none –

+0

@ DJDonaL3000 업데이트 된 답변보기. 나는 또한'display' 사이를 전환하는 다른 방법을 포함시켰다. –

2

음과 div의를 의미한다. x가 클래스라고 가정 해 봅시다. 배수가 여러 개인 것처럼 보입니다. 당신이 스타일display:block 같은 특정 속성을 테스트하려면

$('.x')  // this will select all the **elements** with a class="x" 
$('div.x') // this will select all the divs with a class="x" 

, 당신은 할 수 있습니다.

if ($('div.x').css('display') == "block") { 
    // do whatever 
} 
4

다음 선택

아이디 선택

$('#id:visible') 

클래스 선택

$('div.class:visible') 
+0

'display : inline-block'도 볼 수 있습니다 (모든'table- *'등의 표시 값은 언급하지 않음) –

3
$('div#x').filter(function() { return $(this).css('display')==='block'; }).length > 0 
1

당신이 blockdisplay 속성 값이 특정 클래스의 모든 div 요소를 선택하고 싶은 말은 가정, 당신은 filter 방법을 사용할 수 있습니다 표시 속성이 예 : inline-block 인 요소를 필터링하려면이 필터를 사용해야합니다. ? 당신이 전화 div의 X div가 무엇을 의미합니까

var divs = $(".example:visible"); 
관련 문제