Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.07.2011, 13:18
Аспирант
Отправить личное сообщение для Blizzart Посмотреть профиль Найти все сообщения от Blizzart
 
Регистрация: 03.02.2010
Сообщений: 63

Pамена тегов
<script type="text/javascript">$('td a').click(function() {
    $('<span>' + '2011' + '</span>').replaceWith($('<a>' + '2011' + '</a>').attr('href','#2011'));
    $('<span>' + '2010' + '</span>').replaceWith($('<a>' + '2010' + '</a>').attr('href','#2010'));
    $('<span>' + '2009' + '</span>').replaceWith($('<a>' + '2009' + '</a>').attr('href','#2009'));
    $('<span>' + '2008' + '</span>').replaceWith($('<a>' + '2008' + '</a>').attr('href','#2008'));
    
    $(this).replaceWith('<span>' + $(this).text() + '</span>');
});</script>

Есть 4 ссылки
2011, 2010, 2009, 2008
Я хочу сделать, чтобы при клике по ссылке она становилась не активной, то есть менялась на строку.
А при клике по другой ссылке, она бы снова становилась ссылкой и т.д.
Скрипт заменяет <a> на <span>, а обратно не возвращает.
Может проще это сделать перемещением элементов в невидимый див(dettach, append)?

Последний раз редактировалось Blizzart, 12.07.2011 в 14:18. Причина: пришла мысль
Ответить с цитированием
  #2 (permalink)  
Старый 12.07.2011, 15:27
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Накидал как можно сделать:
http://jsfiddle.net/UY4gS/
Ответить с цитированием
  #3 (permalink)  
Старый 12.07.2011, 19:41
Аспирант
Отправить личное сообщение для Blizzart Посмотреть профиль Найти все сообщения от Blizzart
 
Регистрация: 03.02.2010
Сообщений: 63

micscr, спасибо!
Но меня волнует еще 2 вопроса, никак не найду:
можно ли как то передать id от одного к другому при замене тегов?
Так не получается
$('td a').click(function() {
var _id = $(this).attr('id');
$(this).replaceWith('<span>' + $(this).text() + '</span>' +.attr('id',_id));
});

И можно ли искать тег не по id или class, а по содержимому?
Например, найти строку с текстом "2011" и заменить на ссылку. Так он меняет все строки:
$('span').text('2011').replaceWith($('td a').text('2011').attr('href','#2011'));
Ответить с цитированием
  #4 (permalink)  
Старый 12.07.2011, 19:55
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от Blizzart
И можно ли искать тег не по id или class, а по содержимому?
$("a:contains('2011')");

Сообщение от Blizzart
можно ли как то передать id от одного к другому при замене тегов?
$(this).replaceWith('<span id="'+$(this).attr('id')+'">' + $(this).text() + '</span>');
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 12.07.2011, 23:27
Аспирант
Отправить личное сообщение для Blizzart Посмотреть профиль Найти все сообщения от Blizzart
 
Регистрация: 03.02.2010
Сообщений: 63

Благодарю всех за участие в моем обучение JQ
Написал вариант функции более понятный для новичка, потому что с тем, что предложил micscr, я долго разбирался
$('td a').live("click", function() {
    var $anchor = $(this);
    $('#y2011').hide('fast');
    $('#y2010').hide('fast');
    $('#y2009').hide('fast');
    $('#y2008').hide('fast');
	$('span:contains("2011")').replaceWith('<a href="#y2011">2011</a>'); 
	$('span:contains("2010")').replaceWith('<a href="#y2010">2010</a>'); 
	$('span:contains("2009")').replaceWith('<a href="#y2009">2009</a>'); 
	$('span:contains("2008")').replaceWith('<a href="#y2008">2008</a>'); 
        $($anchor.attr('href')).show('fast');
	$(this).replaceWith('<span>' + $(this).text() + '</span>');
});

В левой ячейки 4 дива(у каждого id соответсвует названию якоря), а в правой 4 кнопки и таким образом можно сменять содержимое левой ячейки через ксс:дисплей

Последний раз редактировалось Blizzart, 12.07.2011 в 23:31.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вытащить со страницы все значения name и value из тегов <input> qwr938 Общие вопросы Javascript 8 13.02.2011 15:16
Выбор тегов на странице. unsiker jQuery 1 21.01.2011 19:07
Перебор вложенных тегов. werdes jQuery 0 27.07.2010 11:51
Как переместить курсор внутри тегов? alex-v Javascript под браузер 8 29.08.2009 23:07
Изменение css-свойств большОго кол-ва тегов AzriMan Общие вопросы Javascript 2 05.03.2009 15:11