노드를 위치에 넣는 Javascript 기능을 실험하고 있습니다. appendChild(document.getElementById("foo"))
과 같은 것입니다. 그러나 주변 코드를 완전히 제어 할 수 없으며 일부 요소가 동일한 ID를 가질 가능성이 큽니다. 다음 고려 : 대부분의 브라우저에서위치 기반의 자바 스크립트 요소를 기반으로 요소 노드 얻기
<div id="foo">
<span id = "bar">456</span>
<script type="text/javascript">document.write(document.getElementById("bar").innerText);</script>
</div>
<hr>
<div id="foo">
<span id = "bar">123</span>
<script type="text/javascript">document.write(document.getElementById("bar").innerText);</script>
</div>
을 출력 될 것입니다 :이 결과는 나에게 전혀 놀랍지
456 456
123 123
인
456 456
123 456
아니라, 내가 원하는 것보다; 왜 이런 일이 일어나는 지 이해합니다. 내가 더 내가 스크립트 태그의 내용을 제외하고 아무것도 통제가없는 가정
document.write(myscriptnode.parent.childnodes['bar'].innerText)
같은 자바 스크립트 호출을 할 수있는 기대했다,이 작업을 수행하는 방법은 무엇입니까?
div 및 span에는 CSS가 없습니다. 내가 "스크립트 태그의 내용을 제외한 다른 것을 제어 할 수 없다고 가정"하고 있기 때문에 필자는이를 추가 할 수 없습니다. – Brian
죄송합니다. 명확히 말하면, "jQuery를 사용하면 CSS 선택기와 유사한 구문을 작성할 수 있습니다." http://api.jquery.com/category/selectors/ jQuery가 필요한 것을 할 것입니다. 즉, node.parent(). children() ... http://api.jquery.com/category/를 참조하십시오. traversing/ 체크 아웃 할 수있는 또 다른 JS 프레임 워크는 http://www.prototypejs.org/ – TimS
입니다. @TimS : 이것은 실제로 노드를 선택하기로되어 있습니다. 스크립트 노드 자체를 선택할 수있는 선택기가 표시되지 않습니다. – Brian