Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Нужно по нажатию на ссылку заменить текст в блоке (https://javascript.ru/forum/jquery/5395-nuzhno-po-nazhatiyu-na-ssylku-zamenit-tekst-v-bloke.html)

Glip 12.10.2009 11:37

Нужно по нажатию на ссылку заменить текст в блоке
 
Пытаюсь реализовать простейший пример, но ничего не выходит. Помогите понять, что делаю не так.
<html>                                                                  
 <head>                                                                  
 <script type="text/javascript" src="jquery.js"></script>          
 <script type="text/javascript">
	$(document).ready(function() {
		$("a").onclick(function() {
			$("div.elementToReplace").replaceWith("<div>Я заменяю блок</div>");
		});
	});	
                                  
 </script>                                                               
 </head>                                                                 
 <body>
	<a href="">link</a>
	<div class="elementToReplace">блок</div>
                                   
 </body>                                                                 
 </html>

и вообще у меня не выполняется ничего, только команда alert. что делать?

e1f 12.10.2009 12:41

jquery не подключен, скорее всего. Проверьте, там ли ледит библиотека, где Вы указали.

Glip 12.10.2009 14:17

Цитата:

Сообщение от e1f (Сообщение 32254)
jquery не подключен, скорее всего. Проверьте, там ли ледит библиотека, где Вы указали.

тоже так думал, но тогда бы не работала и команда alert. позже еще и проверил команды show() и hide() - они тоже работают, а вот replacewith не хочет:(

e1f 12.10.2009 14:26

Рабочий пример:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>Без имени</title>
  <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  <meta name="generator" content="Geany 0.17" />
</head>
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
<!--
    $(function() {
        $('a').click(function() {
            $('div.elementToReplace').replaceWith('<div>Я заменяю блок</div>');
            return false;
        });
    });
//-->
</script>
<body>
  <a href="#">link</a><div class="elementToReplace">блок</div>
</body>
</html>

А теперь:
1. Не .onclick, а .click;
2. return false в конце обработчика отменяет переход по ссылке -- надо.
И читайте документацию, в конце концов, раз уж взялись за изучение фреймворка.

Glip 12.10.2009 15:00

огромное спасибо... глупые ошибки... а доки я читаю :)

e1f 12.10.2009 16:05

Ничего страшного :)
А доки читайте, полезно ;)

Roovwhite 06.03.2012 17:32

Подскажите, пожалуйста, как можно реализовать то же самое, но с множеством смен текста? Совсем запутался...


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