WEB/JavaScript
[JS] day2- 시험
애플쩀
2022. 5. 30. 12:25
1번
js
jq
$("button").click(function(){
//$("input[type=text]")
$("#demo").text($(":text").val());
$(":text").focus()
.val("");
// .select();
});
2번
/* document.querySelector("button")
document.querySelector("button:first-child")
document.querySelector("button:nth-of-type(1)") */
document.querySelector("button:first-of-type").onclick=function(){
this.disabled="disabled";
document.querySelector("button:nth-of-type(2)").disabled="";
}
document.querySelector("button:nth-of-type(2)").onclick=function(){
this.disabled=true;
document.querySelector("button:nth-of-type(1)").disabled=false;
}
5번
js
document.querySelector("button").onclick= function(){
// document.getElementsByName("htmlapply")[0].checked;
if(document.getElementsByName("htmlapply")[0].checked){
document.querySelector("#demo").innerHTML=document.querySelector("input[type=text]").value;
}else{
document.querySelector("#demo").innerText=document.querySelector("input[type=text]").value;
}
}
jq
6번
마지막 문제 jq
$("button").click(function(event){
/* :radio==[type=radio]
:text==[type=text]
:checkbox==[type=checkbox]
체크된 체크박스만 얻어오기 $(":checkbox:checked") */
//var result="";
$(":checkbox:checked").each(function(i,element){
//result+=element.value+"/";
$("#demo").text(function(index,text){
return text+(text ?",":"")+ $(element).val();
});
});
});
전체
1. 문자열을 입력 후 확인 버튼을 클릭할 때 입력한 문자열을 p 태그에 출력하는 js 코딩을 하세요.
<input type="text">
<br>
<button>확인</button>
<p id="demo"></p>
1)
function check(){
var msg=document.querySelector("input[type=text]").value;
var pdemo=document.getElementById("demo");
pdemo.innerText=msg;
}
2)
document.querySelector("button").onclick=function(){
document.getElementById("demo").innerText=document.querySelector("input[type=text]").value;
}
1-2. 위의 코딩을 jquery로 수정하세요 .
$("button").click(function(){
//$("input[type=text]")
$("#demo").text($(":text").val());
$(":text").focus()
.val("");
// .select(); 텍스트부분이 드래그상태가 된다.
});
</script>
2. Turn on 버튼을 클릭하면 Turn on 버튼은 비활성화시키고, Turn off 버튼은 활성화시키는 js 코딩을 하세요.
<button>Turn on</button>
<button disabled="disabled">Turn off</button>
1)
document.querySelector("button:first-of-type").onclick=function(){
this.disabled=true;
document.querySelector("button:nth-of-type(2)").disabled=false;
}
document.querySelector("button:nth-of-type(2)").onclick=function(){
this.disabled=true;
document.querySelector("button:first-of-type").disabled=false;
}
2)
function turn_on(){
document.querySelector("button:first-of-type").disabled=true;
document.querySelector("button:last-of-type").disabled=false;
}
2-2. 위의 코딩을 jquery로 수정하세요 .
-------
$("button:first-of-type").click(function(){
$(this).prop("disabled",true)
.next().prop("disalbed",false);
});
$("button:last-of-type").click(function(){
$(this).prop("disabled",true)
.prev().prop("disalbed",false);
});
3. p 태그에 마우스를 올리면
ㄱ. 글자색 빨강
ㄴ. 글크기 35px
ㄷ. 테두리 1 solid gray
스타일을 바꾸는 js 코딩을 하세요.
<p id="demo">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sequi incidunt
fugiat voluptas totam nisi iste ab iure beatae veritatis laudantium id
quidem quasi et quis tempora natus cum dicta perferendis.
</p>
1)
document.getElementById("demo").onmouseover=function(){
document.getElementById("demo").style.color="red";
document.getElementById("demo").style.fontSize="35px";
document.getElementById("demo").style.border="1px solid gray";
}
2)
document.getElementById("demo").onmouseover=function(){
this.style.color="red";
this.style.fontSize="35px";
this.style.border="1px solid gray";
}
3-2. 위의 코딩을 jquery로 수정하세요 .
$("#demo").mouseover(function(){
$(this).css({
"color":"red",
"font-size":"35px",
"border":"1px solid gray"
});
});
4. 하나의 버튼으로 Turn on/Turn off 기능을 js로 구현하세요
<button>Turn on</button>
<img alt="" src="../images/pic_bulboff.gif" style="width: 100px;">
function turn_on_off(){
if(!sw){
img.src="../images/pic_bulbon.gif";
btn.innerText="turn off";
}
else{
img.src="../images/pic_bulboff.gif";
btn.innerText="turn on";
}
sw=!sw;
}
4-2. 위의 코딩을 jquery로 수정하세요 .
$("#btn").click(function(){
if(!$("img").attr("src").match("off.gif")){
$("img").prop("src","../images/pic_bulboff.gif");
$("#btn").text("turn on");
}else{
$("img").prop("src","../images/pic_bulbon.gif");
$("#btn").text("turn off");
}
});
5. 확인 버튼을 클릭할때 html 적용시에는 굵은 bold 스타일로 홍길동이 출력되고
html비적용 시에는 <b>홍길동</b>가 출력되는 js 코딩을 하세요.
<fieldset>
<legend>html 적용여부</legend>
<input type="radio" checked="checked" value="apply"><label>적용</label>
<input type="radio" value="not apply"><label>비적용</label>
</fieldset>
<input type="text" value="<b>홍길동</b>">
<br>
<button>확인</button>
<p id="demo"></p>
라디오버튼이 두개가 적용이되어서 name 속성을 똑같이 줘야한다.
5-2. 위의 코딩을 jquery로 수정하세요
.
$("button").click(function(){
if($(":radio:checked").val()=="apply"){
$("#demo").html($(":text").val());
}else{
$("#demo").text($(":text").val());
}
});
6. select 태그에서 과목을 선택해서 라디오버튼의 선택한 과목을 체크하는 js 코딩을 하세요
<select id="subject" name="subject">
<option>선택하세요.</option>
<option value="kor">국어</option>
<option value="eng">영어</option>
<option value="mat">수학</option>
<option value="pe">체육</option>
</select>
<br>
<input type="radio" name="subject" value="kor"><label>국어</label>
<input type="radio" name="subject" value="eng"><label>영어</label>
<input type="radio" name="subject" value="mat"><label>수학</label>
--------------------------------
document.getElementById("subject").onchange=function(){
//선택된 옵션에 value속성을 가져오기
console.log(this.selectedIndex);//선택된 옵션의 인덱스
//option 컬렉션
console.log(this.options[this.selectedIndex].value);
console.log(this.options[this.selectedIndex].text);
var subjectRadios=document.getElementsByName("subject");
//alert(subjectRadios.length);
// subjectRadios[this.selectedIndex-1].checked="checked";
subjectRadios[this.selectedIndex-1].checked=true;
}
</script>
--------------------------------------
6-2. 위의 코딩을 반대로 jquery로 수정하세요 .
$("#subject").change(function(event){
// alert($("#subject").val());
$(":radio[value="+$(this).val()+"]").prop("checked",true);
});
$(":radio[name=subject]").click(function(event){
// $("#subject option:eq(index)").prop("selected",true);
$("#subject").val($(this).val()).prop("selected",true);
});
7. 좋아하는 과목을 여러 개 선택하고 확인 버튼을 클릭하면 좋아하는 과목의 value 속성을 #demo 태그에 출력하는 js 코딩을 하세요.
<input type="checkbox" value="kor" name="subject" id="s_kor" ><label for="s_kor">국어</label>
<input type="checkbox" value="eng" name="subject" id="s_eng" checked="checked"><label for="s_eng">영어</label>
<input type="checkbox" value="mat" name="subject" id="s_mat" ><label for="s_mat">수학</label>
<input type="checkbox" value="pe" name="subject" id="s_pe" ><label for="s_pe">체육</label>
<br>
<button >확인</button>
<p id="demo"></p>
<script>
function check(){
var pdemo=document.getElementById("demo");
var chbox=document.querySelectorAll("[type='checkbox']");
for (let i = 0; i < chbox.length; i++) {
if(chbox[i].checked){
pdemo.innerText+=chbox[i].value+", ";
}
}
}
강사님 코드
<script>
document.querySelector("button").onclick=function(){
var result="";
// var subjects= document.querySelectorAll("input[type=checkbox][name=subject]");
var subjects= document.querySelectorAll("input[name=subject]");
//alert(subjects.length);
for (let i = 0; i< subjects.length; i++) {
if(subjects[i].checked){
result+=subjects[i].value+"/";
}
}//for
document.getElementById("demo").innerText=result;
}
</script>
</script>
한글로 찍고싶다면
result+=subjects[i].nextElementSibling.innerText+"/";
7-2. 위의 코딩을 반대로 jquery로 수정하세요 .
$("button").click(function(event){
var result = "";
$("input[name=subject]").each(function(index, element) {
// console.log=index+":"+element.value+"/"+element.checked;
if(element.checked){
result += element.value+"/";
}
});
$("#demo").text(result);
});
$("button").click(function(event){
/* :radio==[type=radio]
:text==[type=text]
:checkbox==[type=checkbox]
체크된 체크박스만 얻어오기 $(":checkbox:checked") */
//var result="";
$(":checkbox:checked").each(function(i,element){
//result+=element.value+"/";
$("#demo").text(function(index,text){
return text+(text ?",":"")+ $(element).val();
});
});
});