2015-04-03 3 views
0

я был в состоянии заменить текст на клик по следующему коду:Переключение между текстами в промежутке

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

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

Эта замена Login на Create Account при нажатии, но не переключается обратно Login при нажатии на Create Account. Мне нужно переключаться между Login и Create Account.

Любые предложения?

+3

Так добавьте если и проверить, в каком состоянии текст в и установить правильный текст. – epascarello

ответ

2

Basic проверку, чтобы увидеть, что текст:

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


Или нет JavaScript на всех

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 }
<input type="checkbox" id="log" name="log" /><label class="a" for="log">Text 1</label><label class="b" for="log">2 Text</label>

2

Вы должны проверить innerHTML, используя, если состояние и изменение

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

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

Он сказал, что ему не нужно возвращаться к логину!) – Legendary

+0

Пожалуйста, проверьте, что OP упомянул, что OP хочет вернуть текст – mohamedrias

1

При нажатии на содержимое вашего диапазона тега changetext() вызывается функция, которая изменяет содержимое на "Create Account". Так что вы могли бы сделать что-то вроде этого: -

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

Я бы предложил поместить document.getElementById («учетные записи») в переменную, чтобы сделать ее более чистой. – RVandersteen

+0

Спасибо за совет – DarkCoderRises

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