在跨度中的文本之间切换

时间:2015-04-03 13:48:27

标签: javascript jquery html

我能够通过以下代码替换点击文本:

function changetext() {
    document.getElementById("accounts").innerHTML = "Create Account";
}

<span id="accounts" onclick="changetext()">Login</span>

点击后,Login替换Create Account,但点击Login时不会切换回Create Account。我需要在LoginCreate Account之间切换。

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

您需要使用if条件检查innerHTML并更改

function changetext() {
   var element =  document.getElementById("accounts");
   element.innerHTML = (element.innerHTML==="Login") ? "Create Account" : "Login";
}

<span id="accounts" onclick="changetext()">Login</span>

答案 1 :(得分:2)

基本检查以查看文本内容:

&#13;
&#13;
function changetext() {
    var div = document.getElementById("accounts");
    var text = div.innerHTML == "Create Account" ? "Login" : "Create Account";
    div.innerHTML = text;
}
&#13;
<span id="accounts" onclick="changetext()">Login</span>
&#13;
&#13;
&#13;


或者根本没有JavaScript

&#13;
&#13;
input[name="log"] { display : none; }
input[name="log"] + label.a {} 
input[name="log"] + label.a + label.b { display:none } 
input[name="log"]:checked + label.a {display:none} 
input[name="log"]:checked + label.a + label.b { display: inline } 
&#13;
<input type="checkbox" id="log" name="log" /><label class="a" for="log">Text 1</label><label class="b" for="log">2 Text</label>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

当您单击span标记的内容时,将调用changetext()函数,该函数会将内容更改为“创建帐户”。 所以你可以这样做: -

function changetext() {
    if(document.getElementById("accounts").innerHTML == "Login"){
    document.getElementById("accounts").innerHTML = "Create Account";
    }
    else
    {
    document.getElementById("accounts").innerHTML = "Login";
    }
}