<label style=선택자><input 체크 버튼></label> 구조에서 스타일 지정?

<label style=선택자><input 체크 버튼></label> 구조에서 스타일 지정?

QA

<label style=선택자><input 체크 버튼></label> 구조에서 스타일 지정?

본문

<label style=선택자><input 체크 버튼></label> 구조에서 

 

input 체크박스에 체크가 되어있다면 label의 스타일 선택자를 aaa 불러오고

input 체크박스에 체크가 안 되었다면 label의 스타일 선택자를 bbb 불러오는 방법? 

이 질문에 댓글 쓰기 :

답변 4

<style> 

.aaa {background:red; width:50px; height:30px;} 

.bbb {background:blue; width:50px; height:30px;} 

</style> 

 

<label class="aaa" id="labelid"><input type="checkbox" id="ckid" name="ckname" onclick="javascript:scp_check()"></label>​

 

<script>

function scp_check(){

var obj = document.getElementsByName("ckname")

var labelobj = document.getElementById("labelid");

 

  

 if(obj[0].checked==true){

  labelobj.className="bbb";

}else{

  labelobj.className="aaa";

}

 }

 

</script> 

<label style=선택자 id="labelid"><input 체크 버튼 id="ckid" name="ckname"></label>

 

<script>

var obj = document.getElementsByName("ckname")

var labelobj = document.getElementById("labelid");

if(obj[0].checked==true){

labelobj.style="aaa"

}else{

labelobj.style="bbb";

}

 

</script>

 

답변 고맙습니다. 근데, 아래처럼 해봤는데, 잘 안 되네요.

<style>
label.aaa {background:red; width:50px; height:30px;}
label.bbb {background:blue; width:50px; height:30px;}
</style>

<label id="labelid" for="ckid"><input type="checkbox" id="ckid" name="ckname">체크</label>
 
<script>
var obj = document.getElementsByName("ckname")
var labelobj = document.getElementById("labelid");
if(obj[0].checked==true){
labelobj.style="aaa"
}else{
labelobj.style="bbb";
}
</script>

label.aaa {background:red; width:50px; height:30px;} 

label.bbb {background:blue; width:50px; height:30px;}  

 

이건뭔가요?? 이건 클래스를 준건가요?

 

클래스를 주실려면 이렇게 하면 안되죠..

 

labelobj​.className = "aaa";

 

이렇게 하던가

 

style에서 직접 스타일을 주던가요..

labelobj.style="background:red; width:50px; height:30px;"​ 

이렇게요.

 

http://codepen.io/anon/pen/zxzqQm 처럼 해줬는데도, 잘 적용이 안 되네요.
체크 하면 빨간색, 체크 안 하면 파란색 나타나게 하려면 어떻게 수정해야 할까요?


ps.
obj[0]  ← 이건 무슨 의미인지? 숫자 0이 뭘 의미하는지 잘 모르겠습니다.

 obj[0] 배열 맞습니다. name 로 받은 obj값은 배열로 들어옵니다. 그래서 name 값은 한페이지에 여러개가 올수가있습니다. 지금은 하나밖에 없으니 obj[0]​ 인겁니다.

 

 

그럼, 혹시, 아래 소스를 약간 수정해 obj[2]가 오는 예제 하나 부탁드려도 될까요?
name이 여러 개 올 수 있다셨는데, 어떤 경우에 그런 게 가능한지 궁금합니다.



<style>
.aaa {background:red; width:50px; height:30px;}
.bbb {background:blue; width:50px; height:30px;}
</style>
 
<label class="aaa" id="labelid"><input type="checkbox" id="ckid" name="ckname" onclick="javascript:scp_check()"></label>​
 
<script>
function scp_check(){
var obj = document.getElementsByName("ckname")
var labelobj = document.getElementById("labelid");
 
 
 if(obj[0].checked==true){
  labelobj.className="bbb";
}else{
  labelobj.className="aaa";
}
 }
 
</script>

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT