Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- websocket
- 암호화
- node.js
- express
- JSP
- model1
- 블록체인
- 웹게임
- AWS
- 비트코인
- 웹소켓
- autowired
- Servlet
- tiles.xml
- PL/SQL
- Cookie
- 알고리즘
- 도커
- 배포
- RDS
- Spring
- jQuery
- phaser
- EC2
- Ajax
- SQL
- JavaScript
- docker
- CSS
- HTML
Archives
- Today
- Total
記錄
jquery) .each, empty&remove 본문
jquery basics
jQuery each
$(function () {
//$(selector).each(function(index){this})
// p태그가 여러 개니까 배열로 가져오고 파라미터가 인덱스로 돈다
// (자바스크립트에서 'var index in ~' 과 유사)
$('p').each(function(index) {
// 인덱스를 파라미터로 설정함으로써 p태그 하나하나 돈다
console.log('index: ' + index);
console.log('this: ' + $(this).text());
// .attr()을 이용해서 하나하나 돌 때에 id 와 같은 attribute 설정 가능
$(this).attr('id','param-' + index); // param-1, param-2, param-3 이 된다
// .attr()을 이용해서 속성을 설정 할 것인데
// 다중으로 한 번에 설정하고자 한다면 jason을 활용
$(this).attr(
{
'id':'param-' + index,
'style':'color:red',
}
);
});
// $(selector).each(function(index,element){element}) 70%
$('p').each(function(index, element) {
console.log('index : ' + index);
// jQuery내에 element를 집어넣어서 해당 element를 모두 돌면서 조작 가능
console.log('element : ' + element + '/' + $(element).text());
});
// Quiz ---------------------------------------------------------------------
var array = [
{"name":"naver" , "link":"www.naver.com"},
{"name":"daum" , "link":"www.daum.net"},
{"name":"bit" , "link":"www.bit.com"}
];
//문제 : name 값 , link 값 을 출력 ()
//$(selector).each(function(index,element){element})
$(array).each(function(index, el) {
document.write(el.name + '/' + el.link + '<br />');
});
// -> 셀렉터 내부에 들어가는 것은 배열로 인식
// (위에서 'p'였던 케이스에도 결국 복수의 'p' 를 선택하게 되므로
배열을 받는다고 인식)
// 그리고 뒤에 오는 element는 셀렉터로 받은 배열의 요소로 인식
// (돌면서 한 싸이클 마다 셀렉터로 받은 요소를 한 번씩 받아주는 변수 개념)
// Quiz ---------------------------------------------------------------------
/*
$(selector).each(function(){this}) : body 안에 있는 태그 정보
$.each(selector , function(){this}) : script 내부에 있는 자원(배열 ,객체)
★★★ 정해진건 아니지만 하다보면 저렇게 쓰게 된다고 하심 ★★★
*/
var board = {
values:[
{no:1,title:'hello'},
{no:2,title:'world'},
{no:3,title:'korea'}
],
search:"검색"
}
//$.each() 을 사용해서 no 값 , title 값을 출력하세요
$(board.values).each(function(index, el) {
// $.each(board.values, function(index, el) {
document.write(el.no + '/' + el.title + '<br />');
});
// -> script 내에 변수에 접근할 때에는 선택자 내부여도 ''가 없어야 한다
// -> 선택자 내에 배열이 들어갔으므로 index로 돈다!!
// ***********************************************************************
// cf)
// 선택자로 잡힌 대상에 따라 each로 도는 방식이 다르다!!
//
// 정리!!!!
// 선택자로 잡힌 대상이 array 면? index, element 로 회전
// 선택자로 잡힌 대상이 jason 객체면? key, value 로 회전
// ***********************************************************************
// Quiz ---------------------------------------------------------------------
//$.each() 문을 통해서 no , title , search 값을 출력하세요
//hint) javascript typeof 함수 활용
//hint) $.each(){ $.each(){ } } 중첩 each 가능
/*
var board = {
values:[
{no:1,title:'hello'},
{no:2,title:'world'},
{no:3,title:'korea'}
],
search:"검색"
}
*/
$.each(board,function(key,value){
// 파라미터로 잡았던 value
// object 에 jason object가 속하니까 잡히게 된다
if(typeof(value) == "object"){
// 이제 선택자로 잡힌 대상은 board.values 전체 = 즉, '배열' 이다
$.each(value,function(index, obj){
console.log("index : " + index + "-" + obj.no + ":" +obj.title)
});
//
}else{
console.log("key : " + key);
console.log("text : " + value);
}
});
});
empty & remove
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
table, tr, th ,td{
border: 1px solid blue;
border-collapse: collapse;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<script type="text/javascript">
// 행, 열 입력받아서 table 만드는 소스
$(document).ready(function(){
$('#btncreate').click(function(){
var row = $('#row').val();
var col = $('#col').val();
var strtable = "<table>";
for(var i = 0 ; i < row ; i++){
strtable+="<tr>"
for(var j = 0 ; j < col ; j++){
strtable+="<td>(" + i + ")행(" + j + ")열</td>";
}
strtable+="</tr>"
}
strtable += "</table>";
console.log(strtable);
$('#divtable').append(strtable);
});
// ***********************************************************************
// remove() - Removes the selected element (and its child elements)
// empty() - Removes the child elements from the selected element
// ***********************************************************************
// -> remove(): 자신제거 (자식 제거)
// -> empty() : 자식요소 제거
$('#btndelete').click(function(){
$('#divtable').empty(); //div 태그 안에 자식 요소 삭제
//$('#divtable').remove(); // div 자체 삭제
});
});
</script>
</head>
<body>
<span id="lbldisplay">Table Create</span>
<input type="text" id="row">행
<input type="text" id="col">열
<input type="button" value="테이블 동적 생성" id="btncreate">
<input type="button" value="테이블 동적 제거" id="btndelete">
<div id="divtable">
</div>
</body>
</html>
'Web > Jquery' 카테고리의 다른 글
jquery) jquery ui datepicker 형식 설정 (0) | 2018.04.14 |
---|---|
jquery) Ajax + 외부 API (0) | 2018.03.27 |
jquery) Ajax (0) | 2018.03.22 |
jquery&json) 연습문제 (0) | 2018.03.16 |
jquery) selector, event, get, set, add (0) | 2018.03.15 |
Comments