1
안녕하세요 저는 자바 스크립트로 부분 문자열을 사용하려고합니다. 여기 내 코드는 다음과 같습니다.자바 스크립트에서 부분 문자열을 바꿈
하위 문자열 기능이 작동하지만 스타일을 추가하면 오류 콘솔에서 "정의되지 않은"오류가 발생합니다. 이 하위 문자열을 자바 스크립트로 어떻게 스타일링 할 수 있습니까?
안녕하세요 저는 자바 스크립트로 부분 문자열을 사용하려고합니다. 여기 내 코드는 다음과 같습니다.자바 스크립트에서 부분 문자열을 바꿈
하위 문자열 기능이 작동하지만 스타일을 추가하면 오류 콘솔에서 "정의되지 않은"오류가 발생합니다. 이 하위 문자열을 자바 스크립트로 어떻게 스타일링 할 수 있습니까?
두 가지 옵션 :
innerHTML
솔루션입니다. 경고 :이 작업을 수행하는 요소 내의 모든 요소에 대한 이벤트 처리기가 제거됩니다. 나는 주로 내가 그것을 지적 할 수 여기 언급 : splitText
를 사용
var elm = document.getElementById("test1");
var html = elm.innerHTML;
elm.innerHTML = '<span style="font-style: italic">' + html.substring(0, 2) + '</span>' + html.substring(2);
. 여기에서는 범위 내에서 줄 바꿈 할 텍스트가 요소 내에 첫 번째 텍스트 노드라고 가정합니다. 요소에이 은하지 않습니다 엉망 이벤트 핸들러 :
var elm = document.getElementById("test1");
var node = elm.firstChild;
var span = document.createElement('span');
node.splitText(2);
span.style.fontStyle = "italic";
elm.insertBefore(span, node);
span.appendChild(node);
splitText
분리 점은 사용자가 지정한 오프셋 (offset) 인 상태 일이있을 사용되는 두 개의 인접한 텍스트 노드를 작성합니다. 그런 다음 첫 번째 것을 가져다가 span
으로 묶습니다.
'span'으로 감싸고 클래스를 추가하고 스타일을 지정하십시오. – elclanrs
요소에만 style 속성이 있으며 문자열은 그렇지 않습니다. – adeneo
스팬에 스타일을 추가 했으므로 (자바 스크립트를 사용하여 스타일을 지정 했음) 하위 문자열을 출력하지 않습니다. – user1058860