Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получить доступ к букве (https://javascript.ru/forum/jquery/69176-poluchit-dostup-k-bukve.html)

gooodwin67 03.06.2017 11:07

Получить доступ к букве
 
Я пока на начальной стадии изучения. Задал себе вопрос как это сделать. Но как выяснилось вопрос сложный и пока мне никто не дал ответ.

Итак в html имеем <i>Тест</i>
В JS:
$('i').css({'position' : 'relative'}).animate({'top' : '20px'},1000).fadeOut(500);


Итак наш текст идет вниз и затем исчезает.

Как получить доступ не ко всему тексту, а только к букве, например ко второй или к третьей не важно?
Чтобы, например, только вторая буква шла вниз и исчезала.

Пока дошел только до того, что можно обернуть нужную букву в span и уже с ним работать. Но вопрос именно в том, можно ли это сделать не меняя html код.

Diphenyl Oxalate 03.06.2017 11:11

по-другому никак, придётся оборачивать в span

$("i").html("Т<span>е</span>ст").find("span").animate({'top' : '20px'},1000).fadeOut(500);

gooodwin67 03.06.2017 11:40

Спасибо, теперь я спокоен, а то везде отправляют читать доки, а просто ответить никто не может.

j0hnik 03.06.2017 14:57

Чтобы не редактировать сам файл.html и анимировать все вторые буквы в тегах <i> можно сделать так.
<head>
	<meta charset="utf-8">
</head>
<body>
	<i>Тест</i> <i>XXXX</i> <i>павпав</i> <i>авпвап</i> <i>впавпап</i> <i>кекуек</i> <i>кеу</i> <i>Тtret</i> <i>retetr</i>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
		$('i').each(function(){
			var a = $(this).html().split('');
			a.splice(1, 1, '<span>'+a[1]+'</span>');
			a=a.join('')
			$(this).html(a);
		});
		$('i>span').css({'position':'relative'}).animate({'top' : '20px'},1000).fadeOut(500);
	</script>
</body>

gooodwin67 03.06.2017 16:40

Браво!


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