2011-11-11 3 views
0

링크의 정렬되지 않은 목록을 포함하는 페이지가 있습니다. 나는 그 목록을 링크 텍스트에 따라 사전 순으로 정렬하려고합니다. 내 자바 스크립트는 Firefox 및 Chrome에서 작동하지만 IE에서는 작동하지 않습니다. IE는 정의되지 않은 원본 링크 텍스트를 덮어 씁니다.IE에서 Javascript 배열 항목이 정의되지 않았습니다.

내 스크립트는 먼저 ul 태그를 찾은 다음 TagName에 의한 모든 링크를 가져 와서 배열 lis에 넣습니다. 그런 다음이 루프를 통해 링크 텍스트를 가져 와서 두 번째 배열 값에 넣습니다. 그래서 정렬 할 수 있습니다. 나는 이것이 문제가 일어나고있는 곳이라고 생각한다. 위한

VAR (I = 0, L = lis.length 내가 <리터; 내가 ++)

vals.push LIS ([I]는 .text);

내가 알 수있는 한, IE는 .text가 있다고 생각하지 않습니다. 다른 게시물에서 .text()로 변경하라는 제안을 보았지만 어떤 브라우저에서도 작동하지 않았습니다.

링크를 정렬하려면 어떻게해야합니까?

Full text of script

답변

2

.text는 모든 곳에서 작동하는 표준 등록되지 않습니다. 당신은 이런 식으로 대신 .innerHTML 사용할 수 있습니다

vals.push(lis[i].innerHTML); 

을 아니면 그냥 텍스트를 원하는 경우, 당신은이를 사용할 수 있습니다

vals.push(lis[i].textContent || lis[i].innerText); 

일부 브라우저 innerText 지원 일부 지원 textContent. 이 코드 행은 정의되지 않은 것을 가져옵니다. 어떤 브라우저가 어떤 브라우저를 지원하는지 알 수 있습니다 : http://www.quirksmode.org/dom/w3c_html.html.

+3

'.text()'는 jQuery 메소드입니다. 여기에 jQuery가 없으므로'.innerHTML'이 당신이 원하는 것입니다. –

+0

둘 다 감사합니다! – user1040825

관련 문제