Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2014, 22:32
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

nextSibling аналог в jquery
<div id="qw1">123 <span id="qw2">789</span> 456</div>

alert($('#qw2').next().text());


Как получить следующий узел после span? next() не справляется, он игнорирует текстовые узлы ... а вот если применить nextSibling, то всё получится, есть ли в jquery аналог?

alert($($('#qw2').get(0).nextSibling).text());
Ответить с цитированием
  #2 (permalink)  
Старый 02.09.2014, 07:31
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Это не next() не справляется а ты его применяешь не для того. next - значит следующий, а span у тебя - потомок, а не следующий
$('#qw1').children('span').text()
Ответить с цитированием
  #3 (permalink)  
Старый 02.09.2014, 08:10
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от qwermjk
не справляется, он игнорирует текстовые узлы
в jQuery посмотрите на метод http://api.jquery.com/contents/
Ответить с цитированием
  #4 (permalink)  
Старый 02.09.2014, 08:25
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

qwermjk,
$('#qw1').contents().last().text();
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2014, 09:34
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

Да это почти то что я ищу! Но если я уже стою на текстовом узле и мне нужно двигаться вправо, то как быть?
Ответить с цитированием
  #6 (permalink)  
Старый 02.09.2014, 09:59
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

чтобы это все прочитал:
http://learn.javascript.ru/dom

<html>
	<body>
	<div id="qw1">123 <span id="qw2">789</span> 456</div>
		<script type="text/javascript">
console.log(document.querySelector('span').parentElement.childNodes[2]);
		</script>
	</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 02.09.2014, 11:58
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от qwermjk Посмотреть сообщение
Но если я уже стою на текстовом узле и мне нужно двигаться вправо, то как быть?
Пример приведи, где тебе необходимо, стоя на текстовом узле, двигаться вправо и как ты на него встал и зачем.
Ответить с цитированием
  #8 (permalink)  
Старый 04.09.2014, 20:06
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

Допустим я стою в первом текстовом узле, мне нужно перебирать все узлы, включая текстовые, так же как это делает nextSibling, только хотелось бы узнать есть ли на jquery аналог, чтобы мне не переводить jquery->javascript (get(0).nextSibling)
А попал в этот узел я через getSelection().getRangeAt(0).startContainer
И как можно догадаться, это велосипед визуального редактора!!!
Ответить с цитированием
  #9 (permalink)  
Старый 05.09.2014, 15:49
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

qwermjk, нет аналога.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
аналог jQuery prop() infated Элементы интерфейса 7 08.07.2014 14:31
хочу инвайт на хабр macdack Оффтопик 45 28.07.2013 23:18
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08
Аналог Jquery slideToggle() Telnet Общие вопросы Javascript 2 24.07.2011 21:25
как сделать аналог jquery.load без jquery? vvsh AJAX и COMET 5 05.06.2009 22:40