- 체인 컨텍스트를 유지하면서 제어의 대상이 되는 엘리먼트를 변경하는 기법
- chain 챕터참고
- http://api.jquery.com/category/traversing/
$('#root').addClass('s')
s : css에서 bg:grey border:red
.removeClass('s') : 만든 후 반드시 삭제해줘야함
.children().addClass('s') : 현재 엘리먼트의 자식 엘리먼트가 선택됨.
.first().addClass('s') : 현재 엘리먼트의 첫번째 클래스가 적용
.next().addClass('s') : 현재 선택된 엘리먼트 다음 엘리먼트를 선택
.prev().addClass('s') : 각각의 엘리먼트에 대한 이전 형재 엘리먼트를 선택한다
.parent().addClass('s') : 부모 엘리먼트를 선택한다.
.find('li').addClass('s') : 현재 엘리먼트 셋에서 selector에 해당하는 자손 엘리먼트를 선택한다
.first().addClass('s') :현재 선택된 엘리먼트에서 첫번째 엘리먼트 선택
.end().addClass('s') : 이전 선택 엘리먼트로 돌아감
.filter(':first').addClass('s') : 현재 선택된 엘리먼트 세트 안에서 인자로 전달된 셀렉터에 해당되는 엘리먼트를 반환하는 것
find가 범주가 더 큼
.siblings().addClass('s') : 현재 선택된 엘리먼트에 형제 엘리먼트들을 리턴
.parent().addClass('s') : 전체 선택
.find('div').addClass('s') : div를 찾아 s클래스를 더함
.first().addClass('s') : 첫번째에 s클래스를 더함
.nextAll().addClass('s') : 다음의 나머지 모두 리턴
.add('li').addClass('s') : 현재 선택되어 있는 엘리먼트 ul 에 인자로 선택된 li엘리먼트를 추가하는 것. 이렇게 set이 만들어짐
.closest : 부모 조상엘리먼트중 셀렉터로 전달한 가장 가까운 엘리먼트를 가리킴
<!-- http://opentutorials.org/example/jquery/example.traversing.html -->
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
body{
font-size:11px;
width:1000px;
}
#panel div,#panel li,#panel ul{
border:2px solid black;
margin:10px;
padding:10px;
}
#panel ul{
list-style: none;
}
#panel .s{
border:2px solid red;
background-color: #808080;
}
#panel #root{
margin-top:0;
}
textarea{
width:982px;
height:100px;
font-size:11px;
overflow: visible;
}
#help{
float:left;
width:500px;
height:450px;
overflow-y: scroll;
overflow-x: hidden
}
#panel{
float:left;
width:500px;
}
#help table{
border:1px solid gray;
border-collapse: collapse;
width:100%;
}
#help table td{
border:1px solid gray;
padding:5px;
}
#help .title{
color:white;
background-color:#555;
padding:3px;
}
#help .title.checked{
background-color:red;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="wrapper">
<p>
javascript을 입력 한 후에 엔터를 눌러주세요.
<textarea id="code"></textarea></p>
<div id="help">
<table>
<tr id="add"><td><div class="title">.add(selector)</div>엘리먼트를 추가한다</td></tr>
<tr id="andSelf"><td><div class="title">.andSelf()</div>현재 엘리먼트 셋에 이전 엘리먼트 셋을 더 한다</td></tr>
<tr id="children"><td><div class="title">.children([selector])</div>자식 엘리먼트를 선택한다</td></tr>
<tr id="closet"><td><div class="title">.closest(selector)</div>가장 가까운 selector 조상 엘리먼트를 탐색한다</td></tr>
<tr id="each"><td><div class="title">.each(function(index,Element))</div>현재 엘리먼트 셋에 반복 작업을 실행한다</td></tr>
<tr id="end"><td><div class="title">.end()</div>이전 체인 컨텍스트로 돌아간다.</td></tr>
<tr id="eq"><td><div class="title">.eq(index)</div>현재 엘리먼트 셋에서 index에 해당하는 엘리먼트를 선택한다</td></tr>
<tr id="filter"><td><div class="title">.filter(selector)</div>현재 엘리먼트 셋에서 selector에 해당하는 엘리먼트를 선택한다</td></tr>
<tr id="find"><td><div class="title">.find(selector)</div>현재 엘리먼트 셋에서 selector에 해당하는 자손 엘리먼트를 선택한다</td></tr>
<tr id="first"><td><div class="title">.first()</div>현재 엘리먼트 셋 중 첫번째 엘리먼트를 선택한다</td></tr>
<tr id="last"><td><div class="title">.last()</div>현재 엘리먼트 셋 중 마지막 엘리먼트를 선택한다</td></tr>
<tr id="next"><td><div class="title">.next()</div>각각의 엘리먼트에 대한 다음 형재 엘리먼트를 선택한다</td></tr>
<tr id="nextAll"><td><div class="title">.nextAll()</div>각각의 엘리먼트에 대한 다음 형재 엘리먼트 전부를 선택한다</td></tr>
<tr id="prev"><td><div class="title">.prev()</div>각각의 엘리먼트에 대한 이전 형재 엘리먼트를 선택한다</td></tr>
<tr id="prevAll"><td><div class="title">.prevAll()</div>각각의 엘리먼트에 대한 이전 형재 엘리먼트 전부를 선택한다</td></tr>
<tr id="siblings"><td><div class="title">.siblings()</div>각각의 엘리먼트에 대한 형재 엘리먼트 전부를 선택한다</td></tr>
<tr id="slice"><td><div class="title">.slice(start, [end])</div>현제의 엘리먼트 셋 중 start에서 end까지의 엘리먼트를 선택한다</td></tr>
</table>
</div>
<div id="panel">
<div id="root">
div#root
<div>
div
</div>
<div>
div
<ul>
ul
<li>li</li>
<li>li</li>
<li>li</li>
<li>li</li>
</ul>
</div>
<div>
div
</div>
</div>
</div>
</div>
<script>
var $wrapper = $('#root').addClass('selected');
$('#code').keydown(function(e){
if(e.keyCode == 13){
eval($(this).val());
return false;
}
}).change(function(){
eval($(this).val());
});
$('tr').click(function(){
$(this).find('.title').toggleClass('checked');
})
</script>
</body>
</html>
'__ > jQuery' 카테고리의 다른 글
[생활코딩] 11강. ajax (0) | 2021.02.19 |
---|---|
[생활코딩] 10강. 애니메이션 (0) | 2021.02.19 |
[생활코딩] 8강. Form (0) | 2021.01.24 |
[생활코딩] 7강. 엘리먼트 제어 (0) | 2021.01.24 |
[생활코딩] 6강. Event (0) | 2021.01.24 |