2014-11-14 2 views
1

Итак, я ищу, чтобы щелкнуть ссылку, изменить текст, а затем, когда вы нажмете ее снова, она изменится. Я делаю это, добавляя текст, который я хочу. Тем не менее, я не могу изменить текст обратно к оригиналу. Это то, что у меня есть до сих пор ... любая помощь будет высоко оценена.Удалите добавленный элемент и добавьте новый добавленный элемент

HTML

<a class="link" href=""> 
    <span class="icon icon-chat"></span> 
    <span>Link</span> 
</a> 

JS

$('.link').click(function(e) { 
    e.preventDefault(); 

    var $linkClicked = $('<span>Link Clicked</span>'); 

    $(this).toggleClass('active').append($linkClean).find('span').first().remove(); 

    $linkClicked.on('click', function() { 
     $(this).remove(); 
     $('.link').append('<span>Link</span>'); 
    }); 
}); 
+0

Могу ли я ответить на этот вопрос в ваниле JS? Я мог бы сделать это СУПЕР легко. , , –

+0

Конечно. Пожалуйста. – jfrosty

+0

Вы пробовали его с помощью функции 'detach()' jQuery'? http://api.jquery.com/detach/ – algorhythm

ответ

0

Вот один из способов сделать это с комментариями в каждом шаге, чтобы показать, что происходит:

$('.link').on('click', function() { 
    // variables holding sample text 
    var textNormal = "Link";    
    var textClicked = "Link Clicked"; 
    // get text from the link 
    var text = $(this).text(); 
    // if text is normal, make it clicked, otherwise make it normal 
    if(text === textNormal) { 
     $(this).text(textClicked); 
    } else { 
     $(this).text(textNormal); 
    } 
}); 

jsFiddle

0

Если вы можете использовать ванильный JavaScript, это можно сделать очень легко. Я хотел бы использовать что-то вроде ниже:

function changeText(idElement) { 
 
    var element = document.getElementById('element' + idElement); 
 
    if (idElement === 1 || idElement === 2) { 
 
    if (element.innerHTML === 'Read More...') element.innerHTML = 'Close'; 
 
    else { 
 
     element.innerHTML = 'Read More...'; 
 
    } 
 
    } 
 
    
 
    return false; 
 
}
<a id="element1" href="#" onClick="javascript:return changeText(1)">Read More...</a> 
 
<a id="element2" href="#" onClick="javascript:return changeText(2)">Read More...</a>

Надеется, что это помогает!

Смежные вопросы