javascript
  • jquery
  • 2012-06-25 25 views 1 likes 
    1

    我有一些代碼。當它正常運行時,我會創建一條成功消息並使用prependTo以在屏幕上顯示它。問題在於,當用戶兩次成功執行操作時,我最終會收到兩條成功消息。Javascript - 尋找替代prependTo以便它不會添加多個項目

    有沒有辦法覆蓋我的成功消息。這裏是我目前如何處理它在我的代碼:

    $((is_error ? "<p class=' alert alert-error'>"+message+"</p>)" : "<p class=' alert alert-success'>"+message+"</p>")).prependTo("#feedback-container"); 
    

    謝謝!

    +1

    而是每一次創建該元素的,爲什麼不只是改變一個已經存在的元素的含量/知名度? – j08691

    +0

    好點。提出的建議奏效了。我只是爲了讓我接受其中一個答案:) – Genadinik

    回答

    3

    您可以使用簡單:

    $("#feedback-container").html((is_error ? "<p class=' alert alert-error'>"+message+"</p>)" : "<p class=' alert alert-success'>"+message+"</p>")); 
    

    所以的全部內容您的容器被更換。

    3

    而不是prependTo可以使用html,這樣你就不會預先考慮,但取代你的消息容器的內容:

    $("#feedback-container").html(is_error ? "<p class=' alert alert-error'>"+message+"</p>" : "<p class=' alert alert-success'>"+message+"</p>"); 
    
    2
    $("#feedback-container").children(".alert:first-child").remove().end().prepend("stuff"); 
    

    工作演示http://jsfiddle.net/uVVYN/

    1

    根據定義prependTo將「插入在由該參數指定的元件(一個或多個)的開始。」換句話說,它會插入但不是替換

    你所尋找的是最有可能的HTML方法將與給定的內容設置匹配元素的innerHTML:http://api.jquery.com/html/

    HTML()的用途是prependTo略有不同(),但概念是相同的:

    $("#feedback-container").html((is_error ? "<p class=' alert alert-error'>"+message+"</p>)" : "<p class=' alert alert-success'>"+message+"</p>")); 
    
    相關問題