jquery 소스 수정점 부탁드려요 ㅠ
본문
html 안의 dom 갯수를 탐색하는 jquery 소스인데요 ㅠ
입력란은 4개로 id값, 노드명, 속성명, 속성값이고
1개를 적든 3개를 적든 입력된 조건을 만족하는 갯수가 나와야해요 ㅠ
예를들면 아래와 같은 소스가 있어요
<body>
<div id="dog">
<input id="cat" type="text" value="">
<input id="lion" type="text" value="">
</div>
<div id="mouse"></div>
<input type="button" value="">
<input type="button" value="">
</body>
여기서 id값에만 dog나 mouse나 cat이나 lion을 입력하면 1개가 떠야하고
노드명에만 input을 적으면 4개
속성값에만 text를 적으면 2개
노드명에 input 속성값에 button을 적으면 2개
이런식으로 조건에 일치하는걸 찾는게 목적이에요
★id값을 찾고 그 하위에 속한 노드명, 속성명, 속성값이 선택적으로 입력되더라도
그 입력된 조건에 일치하는 갯수를 알아내는 jquery 소스를 짜는것
ps - 단, id값이 없어도 입력된 조건에 일치하는 갯수를 찾을 수 있어야 한다.
function node_jquery()
{
var node_id = $("#n_id").val();
var node_name = $("#n_name").val();
var node_form = $("#n_form").val();
var node_attr = $("#n_value").val();
var count = 0;
var allNode = $("*");
if(node_id != "") {
allNode = allNode.find("#" + node_id);
}
if(node_name != "" && node_form == "") {
allNode = allNode.find(node_name);
}
if (node_form != "") {
allNode = allNode.find("[" + node_form + "]");
}
for(var i = 0; i < allNode.length; i++){
if (node_attr == "") {
count++;
} else {
for(var j = 0; j < allNode[i].attributes.length; j++){
if(node_attr == allNode[i].attributes[j].value){
count++;
}
}
}
}
console.log("★ jQery로 검색된 결과는 : " + count + "개 이당!!");
}
답변을 작성하시기 전에 로그인 해주세요.