2012-11-16 2 views
0

jQuery를 사용하지 않고 다음 세 요소에서 Some Text, <a href="abc.html">Some Anchor</a><img src="abc.jpg" />을 어떻게 반환합니까? 즉, jQuery를 사용하지 않고 $('#t1).text(), $('#t2).text(), $('#t3).text()을 어떻게 반환할까요? 한 번에 하나의 요소 만 선택하므로 여러 요소가있는 경우 배열을 반환 할 필요가 없습니다.하나의 선택된 요소에 대한 텍스트의 네이티브 JavaScript equivilent

<td id="t1">Some Text</td> 
<td id="t2"><a href="abc.html">Some Anchor</a></td> 
<td id="t3"><img src="abc.jpg" /><td> 

jQuery는 다음과 같이 text()를 수행합니다. 여러 요소에 대한 배열을 반환하는 것에 대해 걱정하지 않으므로 잔인한 것으로 보입니다.

text: function(value) { 
    return jQuery.access(this, function(value) { 
     return value === undefined ? 
      jQuery.text(this) : 
      this.empty().append((this[0] && this[0].ownerDocument || document).createTextNode(value)); 
    }, null, value, arguments.length); 
}, 

감사

당신은 노드 (들)의 텍스트를 검색과 같이 할 수

답변

2

:

var el = document.getElementById("t1"); 
var text = el.textContent || el.innerText; 

MDN이 사이트 here

+0

Ah ha!, Thanks! 먼저 el.data를 사용했고 html 요소 없이도 작동했습니다. 나중에 innerHTML을 시도하고 텍스트 값에 오류가 발생했습니다. 단지 궁금해서, 왜 textContent가 데이터 위에, innerText가 innerHTML 위에 있습니까? – user1032531

+0

@ user1032531 innerText는 IE의 textContent 버전입니다. innerText에서주의해야 할 것은 숨겨진 텍스트를 반환하지 않는다는 것입니다. 더 자세한 정보는 MDN 링크를보십시오. 그들은 그것을 훨씬 더 잘 설명합니다. :) – Bruno

1

data에는 TextContent 및 innerText와 일부 추가 정보를 원하시면 노드에서 데이터를 가져 오는 속성입니다 (비 재귀 적). innerHTML은 엘리먼트의 HTML 속성입니다. textContent은 요소가없는 텍스트 (HTML 제외)를 가져 오는 표준 속성입니다. innerTexttextContent을 얻는 비표준 이전 IE 방법입니다.

이제 당신이 :-) 필요 알아야

+0

감사합니다 Florian, 이제 더 많이 안다! – user1032531

관련 문제