jquery 소스 수정점 부탁드려요 ㅠ
html 안의 dom 갯수를 탐색하는 jquery 소스인데요 ㅠ
입력란은 4개로 id값, 노드명, 속성명, 속성값이고
1개를 적든 3개를 적든 입력된 조건을 만족하는 갯수가 나와야해요 ㅠ
예를들면 아래와 같은 소스가 있어요
Copy
<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값이 없어도 입력된 조건에 일치하는 갯수를 찾을 수 있어야 한다.
Copy
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 + "개 이당!!"); }
답변 2개
답변을 작성하려면 로그인이 필요합니다.
로그인