2012-03-20 9 views
4

라디오 버튼과 같은 div를 사용하고 있으며 질문이 있습니다.[object object]와 [object HtmlDivElement]의 차이점. jQuery로 Div 플레이하기

는 내가 설정 두 가지 스타일하는 .buttonUp 및 .buttonDown이 사업부의 OnClick 이벤트에 적용 할 필요가 있으므로

같은 함수와 변수를 선언합니다.

<script type="text/javascript"> 
var onCheck; 

function setRadio(param_ElementRef) 
{ 
    if (param_ElementRef != onCheck) 
    { 
     if (onCheck) 
     { 
      onCheck.className = 'buttonUp'; 
     } 
     param_ElementRef.className = 'buttonDown'; 
     onCheck = param_ElementRef; 
    } 
} 
</script> 

나는이 잘 작동이

<div id="Yes" class="buttonUp" onclick="setRadio(this)">Yes</div> 
<div id="No" class="buttonUp" onclick="setRadio(this)">No</div> 
<div id="Maybe" class="buttonUp" onclick="setRadio(this)">Maybe</div> 

같은 사업부에서 함수를 호출,하지만 난 onCheck 변수의 기본 값을 설정하는 데 문제가 있습니다.

나는 div의 아이디의를주는 시도,하지만 난 alert(param_ElementRef) 경우는 [object HtmlDivElement]

분명 둘 사이에 차이가 표시 반면이, [object Object]를 표시 alert($('#Yes') 때와 동일한 개체를 반환하는 방법이있다 ID 참조 또는 이와 유사합니까?

많은 감사

+0

이유는'경고 ($ ('# 예')'표시'[개체 개체] 그것은을하기 때문에'이다 jQuery 객체. 반면에'[object HtmlDivElement]'가 반환되게하려면'alert ($ ('# Yes') '대신'alert (document.getElementById ('Yes '))'를 사용하십시오. –

+0

와우! –

+0

댓글을 답글로 게시하고 더 많은 것을 추가했습니다. –

답변

4

이유는 alert($('#Yes')[object Object]은 jQuery 객체이기 때문에입니다. 한편

[object HtmlDivElement]을 반환하려는 경우 당신은 또한 예를 들어 대한 get()

를 사용하여 jQuery를 개체에서 일반 JS 객체를 얻을 수 alert(document.getElementById('Yes')) 대신

alert($('#Yes'))의 시도. 경고 ($은 ('# 예는')) [object Object] 표시하고 alert($('#Yes').get(0))을 시도하는 경우에 당신은 얻을 것이다 [object HtmlDivElement]

+0

신난다. 고맙습니다 –

2

이 옵션 여기

<div id="yes" class="button buttonUp">Yes</div> 
<div id="no" class="button buttonUp">No</div> 
<div id="maybe" class="button buttonUp">Maybe</div> 

의 DIV에 추가 클래스를 추가 http://jsfiddle.net/prasofty/zWjjk/

jsFiddle에서 확인 예제 코드를 옵션

var option; 
$('.button').click(function() { 
    option = $(this).attr('id'); 
    $('.selected').html('Your option - ' + option); 
    $(this).addClass('buttonDown').removeClass('buttonUp'); 
});​ 

을 선택 jQuery 코드입니다

관련 문제