티스토리 뷰
Javascript는 기본 문자열 표기를 따옴표(') 또는 큰따옴표(")를 이용하여 사용한다.
.html() 함수를 통해 다양한 propery가 설정된 html tag를 문자열로 넣거나
따옴표, 큰따옴표가 여러개 혼용된 문자열을 변수로 사용할 경우 문제가 발생한다.
이 때 처리 방법이 혼동되는 경우가 있어 정리한다.
아래의 태그를 문자열로 담아 꺼내 쓰려고 한다.
//담고자 하는 tag
<a href="#" type="text" class="test" onclick="javascript:function("${functionName}")">저장</a>
//변수에 저장
const saveTag = "<a href="#" type="text" class="test" onclick="javascript:function("${functionName}")">저장</a>";
//Jquery html 뿌리기
$("div.test").html(saveTag);
a tag안에 onclick 시 Javascript function을 실행하는데 function 명을 동적으로 받아 처리하는 태그이다.
이 태그를 통째로 큰따옴표에 담아 변수에 저장하여 html로 뿌려 정상적으로 작동하게 해야한다.
Javascript에서는 큰따옴표(")를 문자열의 시작과 끝을 알리기 때문에 문자열 맨 앞과 뒤에 써준다.
큰따옴표로 둘러쌓인 문자열 내부 큰따옴표가 있을 경우 문자열의 끝과 새로운 시작으로 인식하기 때문에
내부에서 감쌀 때는 작은따옴표(') 혹은 역슬래시+큰따옴표(\")를 써준다.
역슬래시+작은따옴표(\') 역시 쓰이지만 가독성을 위해서는 " > \" > ' 순서로 써주는 것이 좋다.
Depth가 2개일 경우 " > '
Depth가 3개일 경우 " > \" > '
아래 예시처럼 주석처리한 tag도 정상 작동하지만 개인적으로 큰따옴표에서 작은따옴표로 가는 것이 가독성이 좋다.
const saveTag = "<a href='#' type='text' class='test' onclick=\"javascript:function('${functionName}')\">저장</a>";
//이런식으로 해도 문제는 없지만 가독성이 떨어짐
//const saveTag = '<a href="#" type="text" class="test" onclick=\'javascript:function(\'${functionName}\')'>저장</a>';
//Jquery html 뿌리기
$("div.test").html(saveTag);
'Language > JavaScript' 카테고리의 다른 글
[JavaScript] ajax ayunc 동기식 설정하여 데이터 받아오기 (0) | 2020.01.15 |
---|---|
[JavsScript] onfocus="this.select()" 블록지정 (0) | 2020.01.09 |
[JavaScript] replace 공백제거 정규표현식 (0) | 2020.01.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 동기식
- 영어우선
- 속도차이
- tomcat 오류
- 문자숫자판별
- this.select
- onfocus
- 데이터 받기
- 컴파일 에러
- 한글우선
- imemode
- replaceAll
- 한글영어기본값설정
- javascript
- Union All
- input블록지정
- 오라클디비
- replace
- 비동기식
- tomcat port 충돌
- project clean
- java
- 날짜표기법
- 라인이동
- Oracle
- regexp
- 날짜계산연산
- 공백제거
- async
- db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함