2012-07-20 4 views
2

<div> 행의 내용을 처리해야합니다. 그것의 단축 조각은 다음과 같습니다Javascript를 사용하여 div 내용을 한 줄씩 얻는 방법은 무엇입니까?

<div id='aoeu'> 
    Ammonium NH%4^+ <br /> 
    Copper(I) Cu^+ <br /> 
    Gold(I) Au^+ <br /> 
    Rubidium Rb^+ <br /> 
    Acetone CH%3COCH%3 <br /> 
    Glycerin C%3H%5(OH)%3 <br /> 
</div> 

내가 자바 스크립트 개별적으로 각 라인 작업을해야합니다.

+0

줄을 개행 문자 ('\ n')로 구분합니까? 브라우저의 다른 줄에 실제로 나타나게하려면 '
'을 입력해야합니다. – nnnnnn

+0

아, 그래. 나는 그걸 이해할거야. –

답변

5

개행 문자로 나눕니다.

데모 : http://jsfiddle.net/RG2WT/

편집 : 지금 (내가 후행 하나를 제거 거라고하지만) 당신이 <br> 요소를 추가 한 :

입니다
var el = document.getElementById("aoeu"), 
    content = el.innerHTML.replace(/^\s+|\s*(<br *\/?>)?\s*$/g,""), 
    lines = content.split(/\s*<br ?\/?>\s*/); 

innerHTML를 얻을 선도 traling 제거 공백 및 임의의 후행 <br> 요소를 포함하고, 나머지 각 <br> 요소와 그 주변의 공백으로 나뉩니다.

데모 : lines 각 요소는 당신의 라인 중 하나 인에 배열 될 것입니다 http://jsfiddle.net/RG2WT/3/

어느 쪽이든. 어느 쪽이든 앞뒤 공백을 제거하여 예를 들어 첫 번째 항목이 "Ammonium NH%4^+"이 아닌 " Ammonium NH%4^+ "이되도록합니다.

+0

쉼표를 줄 종결 자로 사용하는 이유는 무엇입니까? –

+0

@ChristianMann - 아닙니다. 개행 문자로 나눌거야. – nnnnnn

+0

'document.getElementById ("aoeu"),'거기에 쉼표가 있고 세미콜론이 아닌 이유는 무엇입니까? –

1

먼저 innerHTML을 가져 와서 var에 할당합니다. var를 가져 와서 br에 나눠서 배열을 얻습니다. 필요한 배열을 만들 수 있습니다. ,

입니다
​var el = document.get​ElementById("aoeu"), 
    content = el.innerHTML.replace(/ |^\s+|\s+$/g,""), 
    lines = content.split("\n"); 

, 요소의 innerHTML을 얻을 맨 앞과 맨 뒤의 공백을 제거하고 다음 "라인"이 같은 작업을 수행 할 수 있습니다 개행 문자로 구분된다고 가정

var contents = document.getElementById("aoeu").innerHTML; 
var lines = contents.split("<br />"); 
// Do whatever you want with lines 
관련 문제