1. Description
부모 Element 하위의 자식 Element중에서 prev다음에 오는 같은 태그들을 모두 찾는다.
2. Example
※ 예제에서는 prev == <span>이고, siblings == <input>이 된다.
#1버튼을 클릭하면 <span>태크 다음에 오는 모든 <input>태그를 찾아서 배경색을 변경한다. 버튼을 클릭할 때마다 스타일이 토글된다.
child#1-1 | child#1-2 |
child#2-2 | |
child#3-1 | child#3-3 |
[HTML Code]
[//HTML Code]
3. Code
더보기
<!-- ---------------------------------------------------------
--
-- Author: 1q74.tistory.com
--
--------------------------------------------------------- -->
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>[1q74.tistory.com] javascript/jquery/selector/next siblings</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
</head>
<body>
<div name="_1q74-example-root">
<div name="_1q74-example-1">
<table border="1">
<tr>
<td>
<span>child#1-1</span>
<input type="text" value="child#1-2" size="10"/>
</td>
<td>child#1-2</td>
</tr>
<tr>
<td><input type="text" value="child#2-1" size="10"/></td>
<td>child#2-2</td>
</tr>
<tr>
<td>
<span>child#3-1</span>
<input type="text" value="child#3-2" size="10"/>
<input type="text" value="child#3-3" size="10"/>
</td>
<td>child#3-3</td>
</tr>
</table>
</div>
<div name="_1q74-example-bottom">
<br/>
<button name="btn-find">#1. $("[name='_1q74-example-1'] span ~ input")</button>
</div>
</div>
<hr/>
<h5>[HTML Code]</h5>
<div name="_1q74-source">
</div>
<h5>[//HTML Code]</h5>
<script>
var buttonContainer = $("[name='_1q74-example-bottom']");
var btnFind = buttonContainer.find("[name='btn-find']");
var elements = $("[name='_1q74-example-1'] span ~ input");
console.log(elements);
btnFind.click(function() {
elements.each(function(i, el) {
const element = $(el);
if(!element.is("[style]")) {
element.css("background", "#E05C1A");
} else {
element.removeAttr("style");
}
});
});
// ------------------------------------------------------
// 소스출력
// ------------------------------------------------------
var textSource = $("[name='_1q74-source']");
var exampleHtml = $("[name='_1q74-example-root']").html();
var specialCharLines = textSource.text(exampleHtml).html().split("\n");
textSource.html(specialCharLines.join("<br/>").replaceAll("\t", " "));
</script>
<style>
[name="_1q74-example-root"] {
min-height: 170px;
}
[name="_1q74-example-1"] {
min-height: 140px;
}
[name="_1q74-example-root"] [type="image"]{
width: 100px;
}
[name="_1q74-example-1"] td {
min-width: 100px;
min-height: 30px;
}
[name|="_1q74-example"] button
,[name="_1q74-source"] button {
background: lightgray;
border: 5px outset;
min-height: 30px;
}
[name|="_1q74-example"] button:active
,[name="_1q74-source"] button:active {
border: 2px inset;
min-height: 30px;
}
</style>
</body>
</html>
4. File
5. Reference
https://api.jquery.com/next-siblings-selector/
'JavaScript > jQuery' 카테고리의 다른 글
【jQuery/Selector #46】:nth-child() Selector (0) | 2023.03.14 |
---|---|
【jQuery/Selector #45】:not() Selector (0) | 2023.03.14 |
【jQuery/Selector #43】Next Adjacent Selector (“prev + next”) (0) | 2023.03.13 |
【jQuery/Selector #42】Multiple Selector (“selector1, selector2, selectorN”) (0) | 2023.03.06 |
【jQuery/Selector #41】Multiple Attribute Selector [name=”value”][name2=”value2″] (0) | 2023.03.06 |