Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 자식 요소 텍스트 없이 H1 태그의 텍스트만 가져오는 방법

개요

H1 태그 안에 span 같은 자식 요소가 포함되어 있을 때, 자식 요소의 텍스트를 제외한 순수한 H1의 텍스트만 추출해야 하는 경우가 있습니다. 이럴 때는 childNodestextContent 속성을 함께 사용하면 간단하게 해결할 수 있습니다.

textContent를 사용한 방법

querySelector()로 h1 요소를 선택한 뒤, childNodes[0]으로 첫 번째 자식 노드(텍스트 노드)에 접근하고 textContent로 값을 읽어오면 됩니다. 이렇게 하면 span 등 다른 자식 요소의 텍스트는 포함되지 않습니다.

childNodes[0].textContent;

예제 코드

다음은 전체 예제 코드입니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<body>
    <div class="first-header">
    <div class="second-header">
    <h1> This is h1 tag........<span>This is span tag inside h1 tag.......... </span></h1>
</div>
</div>
</body>
<script>
    var valueOfh1 = document.querySelector('div.second-header h1');
    var value = valueOfh1.childNodes[0].textContent;
    console.log(value);
</script>
</html>

위 코드에서 h1 태그의 첫 번째 자식 노드(childNodes[0])는 "This is h1 tag........"라는 텍스트 노드이며, span 태그는 두 번째 자식 노드에 해당합니다. 따라서 childNodes[0].textContent를 사용하면 span 내부의 텍스트는 자연스럽게 제외됩니다.

실행 방법

위 프로그램을 실행하려면 파일 이름을 anyName.html(index.html)로 저장합니다. 그런 다음 VS Code 편집기에서 해당 파일을 마우스 오른쪽 버튼으로 클릭하고 “Open with Live Server” 옵션을 선택하면 브라우저에서 바로 확인할 수 있습니다.

출력 결과

프로그램을 실행하면 다음과 같은 결과가 화면에 나타납니다.

JavaScript에서 자식 요소 텍스트 없이 H1 태그의 텍스트만 가져오는 방법

브라우저 개발자 도구 콘솔에는 다음과 같이 h1 태그의 직접적인 텍스트만 출력되며, span 태그 안의 텍스트는 포함되지 않습니다.

JavaScript에서 자식 요소 텍스트 없이 H1 태그의 텍스트만 가져오는 방법