var input = selectBox.nextSibling
input.setAttribute("value", value);
위의 코드로 selectbox의 값을 input에 넣는데 작동이 되지않았다.
nextElementSibling로 바꿔보자.
var input = selectBox.nextElementSibling
input.setAttribute("value", value);
이유는 무엇일까?
nextSibling은 현재 요소의 다음 형제 노드를 반환한다.
이 속성은 텍스트 노드, 주석 노드 등 모든 노드 유형에 대해 작동한다.
무엇이라도 하나가 더 있다면 원하는 요소를 잡기 어려울 수 있다는 말이다.
반면에,
nextElementSibling은 현재 요소의 다음 형제 요소를 반환한다.
이 속성은 텍스트 노드나 주석 노드는 nextElementSibling 속성을 가지고 있지 않는다.
https://standout.tistory.com/406
'JavaScript' 카테고리의 다른 글
자바스크립트에서 ${contextPath} 변수로 사용하기 (0) | 2023.04.12 |
---|---|
ajax에서 에러 처리 + 아무런 에러가 뜨지않음 (0) | 2023.04.12 |
자바스크립트 Node 선택자 예약어 정리, 자식/type/name/value (0) | 2023.04.12 |
ul 태그에 innerHTML 안됨, 쉬운해결법 (0) | 2023.04.11 |
자바스크립트 선택자 예약어 정리, 부모/자식/형제 (0) | 2023.04.11 |