일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- CoffeeScript
- 마이크로소프트
- non-blocking
- github
- 개발환경
- MongoDB
- 빅데이터
- 마소
- 오픈소스
- callback function
- 제이쿼리
- 콜백 함수
- Ajax
- npm
- 크로스브라우징
- Python
- git
- Microsoft
- 웹디자인
- CSS
- node.js
- 인턴
- 자바스크립트
- Javascript
- 750R
- NoSQL
- JQuery
- AngularJS
- 테스트
- Today
- Total
Inspired World
JavaScript에서 문자열 위치, 배열 위치 알아내기 본문
JavaScript에서 문자열 위치, 배열 위치를 알아내는 방법에는
여러가지가 있겠지만 자체 함수로는 .indexOf() 함수 가 있습니다.
위 링크를 확인해보시면 아시겠지만 사용법도 간단하고 별 문제가 없는 줄 알았는데
IE8 (인터넷 익스플로러8)에서 지원하지 않는 함수라는 문제가 있었습니다.
이유는 ECMAScript v5 부터 .indexOf() 가 포함되었는데
JScript를 사용하는 IE이기 때문에 요즘 FireFox, Chrome, Safari와 같은
브라우저는 대부분 ECMAScript v5 규격에 맞는 JavaScript 엔진이 탑재 되어
있는 반면, IE는 그렇지 않습니다.
뭐 사실 CSS도 그렇고 JavaScript도 그렇고 원래 IE는 좀 그렇습니다 ㅋ
문자열이나 배열의 .indexOf()를 이용해서 몇번째에 속해 있나
혹은 아예 속해 있지 않은가를 알아낼 수 있는 함수인데
없기 때문에 대체 방법을 찾아봤습니다.
해결 방법은 바로 jQuery
$.inArray 또는 jQuery.inArray 함수를 통해
IE 및 ECMAScript v5를 지원하지 않는 자바스크립트 엔진에서도
같은 동작을 하게끔 해주는 함수입니다.
사용 방법:
$.inArray( needle, haystack );
이렇게 하면 찾을 아이템은 needle에
찾을 장소 (문자열이나 배열)를 haystack에 넣어주면 됩니다.
.indexOf 함수와 마찬가지로 값을 찾지 못하면 -1 값을 리턴하게 되고
값을 찾았다면 가장 첫번째 위치를 0을 기준으로 몇 번째에 있는지 위치를 리턴해줍니다.
'jQuery' 카테고리의 다른 글
jQuery를 활용하여 DIV 및 브라우저 창의 스크롤의 끝 이벤트 알아내기 (5) | 2012.03.22 |
---|---|
jQuery 애니메이션을 순차적으로 적용하기 (0) | 2012.02.20 |
jQuery 유용한 팁, 노하우, 이벤트, 문제 해결 (1) | 2012.02.15 |
jQuery와 함께하는 신나는 자바스크립트! (0) | 2012.02.04 |