Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Значение внтури элемента (https://javascript.ru/forum/events/18315-znachenie-vnturi-ehlementa.html)

DmitryOpalev 25.06.2011 23:37

Значение внтури элемента
 
Допустим, у меня есть такая строка:
<div id='somediv'>123</div>

Можно ли теперь просто (наподобие document.getElementById(id).value) вытащить текст из div`а?

TicTac 26.06.2011 00:25

document.getElementById(id).innerHTML
?

nikita.mmf 26.06.2011 13:45

<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
	<script type="text/javascript">
		function getText ( elems ) {
			var ret = "", elem;
			if ( elems.nodeType ) { elems = [elems]; }
			for ( var i = 0; elems[i]; i++ ) {
				elem = elems[i];
				// Get the text from text nodes and CDATA nodes
				if ( elem.nodeType === 3 || elem.nodeType === 4 ) {
					ret += elem.nodeValue;
				// Traverse everything else, except comment nodes
				} else if ( elem.nodeType !== 8 ) {
					ret += getText( elem.childNodes );
				}
			}
			return ret;
		};
	</script>
</head>
<body>
	<div id="text">Жизнь амбивалентно индуцирует данный знак, учитывая опасность, которую представляли собой писания Дюринга для не окрепшего еще немецкого рабочего движения.</div>
	<script type="text/javascript">
		alert ( getText( document.getElementById('text') ) )
	</script>
</body>
</html>

DmitryOpalev 26.06.2011 18:35

nikita.mmf правльно понял :)
Спасибо :)

melky 26.06.2011 22:44

резиг это круто (я его сам сейчас читаю), но сегодня можно сделать и так

<div id="text"><span style="color:red">Жизнь <b>амбивалентно</b> индуцирует данный знак</span>, учитывая опасность, которую представляли собой писания Дюринга для <b>не окрепшего</b> еще немецкого <u><abbr title="один два">рабочего движения.</abbr></u></div>
	<script type="text/javascript">
		alert ( document.getElementById('text').innerText )
	</script>

TicTac 26.06.2011 22:53

Я когда-то видел такой способ который указал nikita.mmf.

А чем было вызвано его использование? Можете напомнить:)

melky 26.06.2011 23:13

не было поддержки в Firefox 3.0, 3.5, 3.6, 4.0b1

TicTac 26.06.2011 23:59

спасибо

trikadin 27.06.2011 01:51

melky, извините, у меня FF 4.01, и поддержки innerText нету. Мне кажется, имеет смысл использовать вариант nikita.mmf. Кроссбраузернее будет.

nikita.mmf 27.06.2011 09:01

melky, я знаю, что резиг это круто, но эту функцию я подсмотрел в Sizzle


Часовой пояс GMT +3, время: 02:42.