2016-08-06 3 views
0

레이블 텍스트에 액세스 할 수 있습니다.JavaScript를 통해 레이블 텍스트에 액세스

나는 통해 입력 태그의 값을 찾을 수 있습니다

<label for="t">Try this <input type="text" id="t" /></label> 
 
<input type="button" onclick="alert(document.getElementById('t').value)" value="Click me!"/>

을하지만 레이블의 텍스트 "이 시도"를 액세스 할 수있는 방법은 무엇인가?

.innerHTML을 사용하면 아무 것도 산출되지 않습니다. .parentNode.value는 정의되지 않은 값을 나타냅니다.

답변

3

<label for="t">Try this <input type="text" id="t" /></label> 
 
<input type="button" onclick="alert(document.getElementById('t').parentNode.innerText)" value="Click me!"/>

+0

감사합니다. .parentNode.innerText - for 속성 외에도 레이블에 id를 추가하지 않아도되기를 원하지 않았습니다. 중복 된 것으로 보입니다. – windsurf88

0

당신은 document.getElementsTagName() 방법을 사용하여 태그 이름으로 요소를 검색 할 수 있습니다.

이제 자바 스크립트
<label id="lbl" for="t">Try this <input type="text" id="t" /></label> 

, 당신은 사용하여 텍스트에 액세스 할 수 있습니다 :이 방법은 <label></label>

<label for="t">Try this <input type="text" id="t" /></label> 
 
<input type="button" onclick="alert(document.getElementsByTagName('label')[0].innerText)" value="Click me!"/>

+0

왜 [0]입니까? [1]? [2]? –

+0

'document.getElementsTagName()'은 주어진 태그 이름으로 기존의 모든 요소를 ​​검색하기 때문에 하나의 요소 만있는 경우에도 분명히 배열을 반환합니다. – jonju

+0

이걸 알지만 왜 [0]입니까? –

0

하면, 라벨에게 ID를 부여의이 LBL 말을하자 태그 모든 요소를 ​​반환합니다 :

document.getElementById('lbl').innerText 

yo 또한 공간을 제거하기 위해 결과를 다듬을 수 있습니다.

+0

그건 작동하지 않습니다. 이것은 를 시도합니다. – windsurf88

+0

.innerHTML returns this 시도하십시오. – windsurf88

+0

대답에서 볼 수 있듯이 innerText innerHTML이 아닌 – TestCandidate

관련 문제