javascript - 用链接切换文本

标签 javascript jquery swap

当我单击实际上位于同一 p-tag 中的链接时,我想更改 p-tag 中的文本。

示例:

var isMail = 0;
$('.switchto').click(function(evt) {
    evt.preventDefault();
    if(isMail == 0) {
        $(this).parent().html("oder doch lieber einen <a href='#' class='switchto'>Facebook Freund</a>");
        isMail = 1;
    } else {
        $(this).parent().html("oder lieber <a href='#' class='switchto'>E-Mailadresse eingeben</a>");
        isMail = 0;
    }

});

HTML:

<p>oder lieber <a href="#" class="switchto">E-Mailadresse eingeben</a></p>

为什么这不能正常工作?我错过了什么吗?有没有更简单的方法来做到这一点?谢谢!

最佳答案

我会添加一个跨度:

<p><span>oder lieber </span><a href="#" class="switchto">E-Mailadresse eingeben</a></p>

然后做:

$('.switchto').on('click', function(evt) {
    evt.preventDefault();
    $(this).text(function(_,txt) {
        var state = txt == 'Facebook Freund';
        $(this).prev('span').text(state ? 'oder lieber ' : 'oder doch lieber einen ');
        return state ? 'E-Mailadresse eingeben' : 'Facebook Freund';
    });
});

FIDDLE

关于javascript - 用链接切换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17840178/

相关文章:

Javascript 函数在 PHP 中的第一个 while 循环后停止

javascript - 我无法摆脱 > 和 < 使用 javascript

javascript - 将填写好的 html 表单下载为 pdf

javascript - 防止在复选框值更改时调用 onchange 事件

jquery - jquery 中 ('#ID' ) 和 $ ('#ID' ) 选择器之间的区别

c++ - 使用std::vector::swap方法在C++中交换两个不同的 vector 是否安全?

java - Java 中的简单交换

javascript - 从 JavaScript 调用 Android 方法

javascript - 检查列表元素是否具有类时需要单击两次

C++:交换指向的变量