2013-05-14 74 views
26

我有一個div內含一串內容。內容不存儲在變量中,我想刪除此div中文本的最後一個字符。請幫忙嗎?Javascript:如何從div或字符串中刪除最後一個字符?

更多信息:


我有一個文本字段,並在輸入文本到文本字段,文本顯示在大書寫一個div。當用戶點擊後退鍵時,我想要刪除div中的最後一個字符。我主要使用jQuery來實現這一點。這裏是我的代碼:

$(document).ready(function(){ 
    $("#theInput").focus(); //theInput is the text field 

    $('#theInput').on('keypress', printKeyPress); 

    function printKeyPress(event) 
    { 
     //#mainn is the div to hold the text 
     $('#mainn').append(String.fromCharCode(event.keyCode)); 
     if(event.keyCode ==8) //if backspace key, do below 
     { 
      $('#mainn').empty(); //my issue is located here...I think 
     } 
    } 

}); 

我試圖$('#mainn').text.slice(0,-1);

我也曾嘗試存儲#theInput的價值在一個變量,然後打印出來,但沒有奏效。有任何想法嗎 ?

+0

爲什麼不把輸入值放到div中? – jarvanJiang 2013-05-14 10:01:04

+0

只是想學習一切。 :) – 2013-05-14 10:03:08

+0

偉大的問題 - 我發現許多許多答案如何從字符串中修剪字符。你很好地表達了你的問題,以幫助我通過搜索找到它。謝謝! – Jason 2016-04-20 16:20:04

回答

57
$('#mainn').text(function (_,txt) { 
    return txt.slice(0, -1); 
}); 

演示-->http://jsfiddle.net/d72ML/8/

+7

不要調用'text()'不必要的兩次:'$('#mainn')。text(function(i,t){return t.slice(-1);});' – 2013-05-14 09:58:11

+0

這兩個建議都不起作用爲了我。 – 2013-05-14 10:09:14

+2

我已經找到了這個問題。由於某些原因,在文本框內執行時,退格鍵碼不會被註冊。你建議的代碼完美的工作,只是我的前面的代碼是不起作用的。謝謝:D – 2013-05-14 10:13:45

6

是U確保ü只想刪除最後一個字符。如果用戶從單詞的中間按下退格鍵,它會更好。從字段中獲取值並替換div html。 On keyup

$("#div").html($("#input").val()); 
+0

我認爲這是一個選項,但從來沒有想過從中間退格!感謝您的建議:D – 2013-05-14 10:16:03

相關問題