😸
js タグ機能スクリプト 紹介
function search(str){
let parent = document.getElementById('link_section');
let cNodes = parent.children; // 要素ノードのみを取得
for (let i = 0; i < cNodes.length; i++) {
let element = cNodes[i];
if (element.classList.contains(str)) {
element.style.display = "block";
} else {
element.style.display = "none";
}
}
使い方
検索したい要素の親に一意のIDを設定してください(link_section)
子要素に検索したいタグ名をクラスとして登録してください。
クラスは一つのみ設定可能です。
複数設定するとうまくいきません。
あとは関数を呼び出せば、検索可能です。
<div class="item green" onclick="search('A')">
<p >A</p>
</div>
<div class="item green" onclick="search('B')">
<p >B</p>
</div>
<div class="item green" onclick="search('C')">
<p >C</p>
</div>
<div id = "link_section">
<a href="#" class ="A">AAAAAAA</a>
<a href="#" class ="A">AAAAAAA</a>
<a href="#" class ="B">BBBBBBB</a>
<a href="#" class ="B">BBBBBBB</a>
<a href="#" class ="B">BBBBBBB</a>
<a href="#" class ="C">CCCCCCCCC</a>
<a href="#" class ="C">CCCCCCCCC</a>
<a href="#" class ="C">CCCCCCCCC</a>
<a href="#" class ="C">CCCCCCCCC</a>
<a href="#" class ="C">CCCCCCCCC</a>
</div>
以下お試し用全文
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="item green" onclick="search('A')">
<p >A</p>
</div>
<div class="item green" onclick="search('B')">
<p >B</p>
</div>
<div class="item green" onclick="search('C')">
<p >C</p>
</div>
<div id = "link_section">
<a href="#" class ="A">AAAAAAA</a>
<a href="#" class ="A">AAAAAAA</a>
<a href="#" class ="B">BBBBBBB</a>
<a href="#" class ="B">BBBBBBB</a>
<a href="#" class ="B">BBBBBBB</a>
<a href="#" class ="C">CCCCCCCCC</a>
<a href="#" class ="C">CCCCCCCCC</a>
<a href="#" class ="C">CCCCCCCCC</a>
<a href="#" class ="C">CCCCCCCCC</a>
<a href="#" class ="C">CCCCCCCCC</a>
</div>
</body>
<script>
function search(str){
let parent = document.getElementById('link_section');
let cNodes = parent.children; // 要素ノードのみを取得
for (let i = 0; i < cNodes.length; i++) {
let element = cNodes[i];
if (element.classList.contains(str)) {
element.style.display = "block";
} else {
element.style.display = "none";
}
}
}
</script>
<style>
#link_section a{
display: block;
text-decoration:none;
color: rgb(66, 66, 66);
padding: 20px;
border-radius:5px;
border: 2px solid #f0f0f0;
}
.item {
width: 30px;
padding: 8px;
margin: 5px;
text-align: center;
border-radius:5px;
box-shadow: 5px 5px 3px 3px #bbb; /* 影指定 */
user-select: none;
}
.item p{
font-size: 15px;
font-weight: 800;
color: rgb(0, 0, 0);
line-height: 0;
}
</style>
</html>
styleは今回の機能と関係ありません。ご自由に変更ください。
Discussion