2010-11-18 3 views
1

페이지에서 클래스 컨트롤이있는 테이블을 사용할 수있는 경우에만 divoverflow-y과 같은 CSS를 추가하고 싶습니다. jQuery 사용하기.페이지에서 일부 요소 만 사용할 수있는 경우 jQuery를 사용하여 클래스를 추가하는 방법은 무엇입니까?

<html> 
<body> 
<table class="controls" > 
</table> 
<div style="overflow"></div> 
</body> 
</html> 
+1

"사용 가능"이란 무엇을 의미합니까? –

+1

아주 명확하지 않습니다! – Zlatev

답변

5

당신은 예를 들어, 선택합니다 (.length를) 일치하는 요소에 대해 간단하게 if 검사를 수행 할 수 있습니다

if($("table.controls").length) { 
    $("div").css({ "overflow-y": "visible" }); 
} 

비록 ... 그 "div" 선택은 '훨씬 더 구체적인 당신이 무엇을해야 다시. 실제로<div>를 추가 할 경우 그 결과는 다음과 같습니다

$("table.controls").after('<div style="overflow-y: visible;"></div>'); 
2

당신이 볼 수있는 length 속성을 사용할 수있는 jQuery를 객체가 어떤 요소가 포함되어있는 경우 :

if ($('table.controls').length > 0) { 
    $('div').css('overflow-y','visible'); 
} 
2
if ($('table.controls').length) { 
    $('div[style=overflow]').css('overflow-y','visible'); 
} 
+1

'div [style = overflow]'를 사용하여 아무것도 찾을 수 없습니다. 스타일이 유효하지 않으므로 브라우저는 HTML 코드가 파싱되면이를 제거 할 수 있습니다. – Guffa

0
$(function(){ 
    $('.controls').addClassToDiv(); 
} 

$.fn.addClassToDiv = function(){ 
    return this.each(function(){ 
    $(this).next('div').addClass('myStyles'); 
    }); 
} 

인라인 스타일을 추가하는 대신 실제로 스타일을 스타일 시트에 유지해야하지만 클래스 추가/제거는 쉽습니다. 스타일 시트에 새로운 스타일을 정의하십시오.

JS는 페이지로드시 실행되는 addClassToDiv라는 jQuery 플러그인을 추가합니다.이 클래스에는 페이지에 '컨트롤'클래스의 요소가 있습니다.

관련 문제