2014-12-15 11 views
2

내 사이트에 ACE 편집기가 통합되어 있습니다. 특정 줄에서 텍스트를 검색하고 싶습니다. 검색 한 결과 ThisThis이 (가) 발견되었습니다. 그러나 불행히도, 나는 그 주제에 초보자이기 때문에, 나는 그들을 이해할 수 없다. 누구나 예제를 줄 수 있습니까? 다음 코드를 사용하여 배열에 줄을 가져 왔습니다.ACE 편집기에서 텍스트 줄을 검색하는 방법은 무엇입니까?

var line = document.getElementsByClassName("ace_line"); 

그 줄의 텍스트 문자열을 반환 할 수 있습니다

line[count].getValue 

같은 어떤 방법이 있습니까?

답변

4

당신은 getElementsByClassName("ace_line") 또는 S를 사용하여

line0 = editor.session.getLine(0); 

를 호출해야 imilar는 작동하지 않습니다.

  1. 에이스는 보이는 선에만 DOM 요소를 만듭니다.
  2. DOM 요소의 텍스트 내용은 탭과 일부 다른 문자가 공백으로 바뀌므로 문서의 텍스트와 다릅니다.
+0

그러나 @someDoge의 답변은 잘 작동했습니다 .... :) –

+2

그는 그것을 얻는 방법을 묻습니다. NodeList는 * 틀린 질문 *일지도 모르지만, 이것은 그의 질문에 대한 대답이 아닙니다. 나는 동의한다, 그는 당연히 이것을해야하지만 그는 이미 그의 질문에 이것과 동일한 대답에 연결되어있다. – user1596138

+2

@ThisaruGuruge는 대답이 작동하는 것처럼 보입니다. 편집자를 스크롤하면 선이 잘못 될 것입니다. –

-1

line[count]은 이미 해당 행의 DOM 요소를 반환합니다. 따라서 그 요소에서 일반 텍스트를 추출하면됩니다. 당신이 jQuery를 사용하는 경우 당신은 할 수 :

당신이 jQuery를 사용하지 않는 경우 예 (line[0])

var lineText = line[0].text(); 

의 첫 번째 줄의 텍스트를 얻으려면하고 싶은 그 javascipt에서 :

var lineText = line[0].innerHTML.replace(/<[^>]*>/g, ""); 
+0

아니요 ... 시도했지만 작동하지 않습니다. –

+0

그걸로 대체하려는 것은 무엇입니까? 호환성을 위해'innerText' 또는'textContent' // textContent를 원했습니다. – user1596138

+0

@someDoge 두 솔루션을 모두 포함했습니다. –