2009-09-28 2 views

답변

276

이 기능 :

function is_checkbox(selector) { 
    var $result = $(selector); 
    return $result[0] && $result[0].type === 'checkbox'; 
}; 

또는이 jQuery 플러그인 :

$.fn.is_checkbox = function() { return this.is(':checkbox'); }; 
+1

이것은 항상 사용하는 방법입니다. –

+0

당신은 정말로 그것보다 더 간단하게 할 수 없습니다. – KyleFarris

+8

왜 이것을 위해 선택기 엔진을 사용해야합니까? 그것은 완전히 불필요합니다. –

8
$("#myinput").attr('type') == 'checkbox' 
22
>>> a=$("#communitymode")[0] 
<input id="communitymode" type="checkbox" name="communitymode"> 
>>> a.type 
"checkbox" 

또는 jQuery를의 스타일을 더 :

$('#myinput').is(':checkbox') 
+0

완벽하게 유효합니다. 가장 간단한 것은 아닙니다. – KyleFarris

+6

jQuery의 선택기 엔진을 사용하여 저장합니다.이 엔진의 사용은 완전히 부적절합니다. jQuery의 혼란스러워하는'attr()'함수가 어떤 것을 망칠 가능성을 피하기 때문에 첫 번째 변종이 훨씬 낫다. –

+3

@Tim Down이 옳다.'attr()'을 afco()로 변경해야한다. 'attr()'은 브라우저에서 항상 "실제"속성 값을 얻지는 않습니다. 정직하게 왜 이것이 사실인지 모르지만, 나는 이것을 잠시 동안 배웠다. – thekingoftruth

2

사용 : 당신은 jQuery의 is 함수를 호출하여 의사 선택 :checkbox을 사용할 수 있습니다

$("#myinput").attr('type') == 'checkbox' 
6

비의 jQuery 솔루션이 많이 jQuery를 솔루션 같다 :

document.querySelector('#myinput').getAttribute('type') === 'checkbox' 
관련 문제