반응형
깨지지 않는 공백은 JavaScript 문자열에서 어떻게 표현됩니까?
이것은 분명히 작동하지 않습니다.
X = $td.text();
if (X == ' ') {
X = '';
}
깨지지 않는 공백이나 JavaScript가 좋아하지 않는 앰퍼샌드에 대한 것이 있습니까?
HTML 엔티티입니다. 를 수행 .text()
하면 모든 HTML 엔티티가 문자 값으로 디코딩됩니다.
엔티티를 사용하여 비교하는 대신 실제 원시 문자를 사용하여 비교하십시오.
var x = td.text();
if (x == '\xa0') { // Non-breakable space is char 0xa0 (160 dec)
x = '';
}
또는 Javascript 이스케이프 형식으로 문자 코드에서 문자를 수동으로 만들 수도 있습니다.
var x = td.text();
if (x == String.fromCharCode(160)) { // Non-breakable space is char 160
x = '';
}
자세한 내용은 String.fromCharCode
여기에서 확인할 수 있습니다.
다른 문자 세트의 문자 코드에 대한 자세한 정보는 여기에서 확인할 수 있습니다.
.text()
마크 업 을 제거하므로 마크 업
이 아닌 결과에서 찾을 수 없다고 생각합니다 .
답변으로 만들어졌습니다 ....
var p = $('<p>').html(' ');
if (p.text() == String.fromCharCode(160) && p.text() == '\xA0')
alert('Character 160');
대신 마크 업에 해당하는 ASCII가 반환되므로 경고를 표시합니다.
해당 엔티티는 브라우저가 페이지를 렌더링 할 때 나타내는 문자로 변환됩니다. JS (jQuery)는 렌더링 된 페이지를 읽으므로 이러한 텍스트 시퀀스가 발생하지 않습니다. 이러한 문제를 만날 수있는 유일한 방법은 엔터티를 이중 인코딩하는 경우입니다.
대한이의 jQuery 문서 text()
말한다
다른 브라우저에서 HTML 파서의 변형으로 인해 반환 된 텍스트는 줄 바꿈 및 기타 공백이 다를 수 있습니다.
$td.html()
대신 사용하겠습니다 .
반응형
'IT story' 카테고리의 다른 글
Python에서 첫 번째 문자열 교체 (0) | 2020.08.31 |
---|---|
(LINQ / Predicate)를 사용하여 DataTable의 모든 열 이름을 문자열 배열로 가져옵니다. (0) | 2020.08.31 |
상관 행렬을 그래프로 플로팅 (0) | 2020.08.31 |
Django Forms : 유효하지 않은 경우 오류 메시지와 함께 양식 표시 (0) | 2020.08.31 |
Pandas 또는 Numpy Nan을 None으로 대체하여 MysqlDB와 함께 사용 (0) | 2020.08.31 |