2012-10-23 2 views
1

getText()라는 함수를 정의해야합니다.이 함수는 지정된 노드에서 또는 아래에 모든 텍스트 노드를 찾아 노드의 텍스트 내용을 추출하여 연결 한 다음 하나의 자바 스크립트 문자열. 이에 대한 textContent 사용할 수있는 새로운 브라우저에서JavaScript는 모든 텍스트 노드를 찾고 문자열로 반환합니다.

<body onload="getText()"> 
<div id="divText"> 
<h4>This is a heading!</h4> 
<p>This is a paragraph.</p> 
<p>And this is another paragraph.</p> 
</div> 
</body> 

답변

2

: gettext에()에서이

는 내 몸의 콘텐츠가 될 것이라고 경고가 될 것입니다. 당신이 노드가 nodeType === 3이있는 경우, .childNodes 및 테스트와 DOM을 통해 걸을 필요가 이전 버전의 브라우저에서

alert(document.getElementById('divText').textContent); 

는 또는 nodeType === 1 (당신도 재귀 적으로 통과해야 할 요소이다) (다음은 텍스트 노드이다).

태그 사이의 줄 바꿈과 같이 공백 전용 노드를 필터링해야하는 경우에도이 마지막 솔루션이 필요합니다.

+0

건배, 비록 우리가 유니 (uni)에서 더 오래된 자바 스크립트로 생각되기 때문에 속임수처럼 보입니다. 우리는 요소와 .childnodes 등을 사용하고 있습니다. –

0

jQuery를 사용하고 싶지 않으십니까? do you do do you do

+0

대학 일을위한 선택적인 운동이었습니다. 좋은 JavaScript와 jQuery를 디버깅 할 수는 있지만 직접 아무것도 쓰지 않았습니다. –