2016-05-12 4 views
0

Когда кнопка нажата, текст будет отображаться, и я пытаюсь удалить текст (поэтому, когда вы нажимаете кнопку снова, тот же текст будет отображаться и только один раз) - но это не работает ...JQuery - Удалить/удалить добавленный текст

HTML:

<button class="button2"id="hints"> 
    <p ><b>hint</b></p> 
     </button>   
    </div> 
    <div id="hintText">   
    </div> 

JS:

$('#hints').on('click',function(){ 
$('#hintText').append("The correct number is either 15, 99 or " + user); 
$('#hintText').empty(); 
}); 
+0

Что именно вы хотите сделать? Пожалуйста, укажите правильно. – KinjalMistry

+0

Вы хотите показать текст один раз, а затем хотите скрыть его автоматически? если вы ищете это, вы можете использовать .hide(). –

ответ

0

вам просто нужно изменить порядок линии

$('#hints').on('click',function(){ 
$('#hintText').empty(); 
$('#hintText').append("The correct number is either 15, 99 or " + user); 
}); 
0

Я не совсем понял, что вы хотите сделать, но я постараюсь вам помочь.

Вы пытаетесь показать намек на короткий период (сохраняя «hintText» div)?

HTML:

<button class="button2"id="hints">hint</button>   
<div id="hintText">   
</div> 

JS:

$('#hints').on('click',function(){ 
    $('#hintText').text("The correct number is either 15, 99 or " + user); 

    setTimeout(function(){ 
     $('#hintText').empty(); 
    }, 1000 /* show it for 1 second */); 
}); 


Вы пытаетесь показать и скрыть кнопку нажмите?

HTML:

<button class="button2"id="hints">hint</button>   
<div id="hintText">   
</div> 

JS:

$('#hints').on('click',function(){ 
    $('#hintText').text("The correct number is either 15, 99 or " + user); 
    $('#hintText').toggle(); 
}); 

PS. Если текст подсказки статичен в зависимости от пользователя, я имею в виду, что если переменная «user» является константой, вы можете поместить ее за пределы события click.

0

Вы должны сначала сделать элемент пустой затем добавить текст в it.I попробовал ваш код таким образом

$('#hints').on('click',function(){ 
    $('#hintText').empty(); 
    $('#hintText').append("The correct number is either 15, 99 or "+user); 
}); 

Это дает мне надлежащий вывод.

Пожалуйста, дайте мне знать, если это вам поможет.

+0

Спасибо, я не очень хорошо объяснял, что я пытался сделать, но это помогло! Прежде, каждый раз, когда я нажимаю кнопку, один и тот же текст будет отображаться снова и снова, теперь, если я нажму кнопку, текст будет отображаться только один раз, и если я снова нажму на него, ничего не произойдет (чего я хотел). Можете ли вы объяснить, почему ставить ... empty() перед добавлением делает это? Спасибо! – learningcoding

+0

Положив пустой(), он сделает содержимое div null. Поэтому, когда в следующий раз он нажимает, он добавляет новое содержимое. Упование это поможет – Codec