2016-10-13 59 views
0
var $insertSuccessMessage = $('#insertSuccessMessage'); 
var $successPopup = $('#successPopup'); 
var $successSpan = $('#successSpan'); 

我有一個div標籤:jQuery的「文本」不工作

<div id="insertSuccessMessage"></div> 

當用戶成功地輸入一個值的輸入字段,我想獲得一個「成功」彈出窗口的下方出現這個div標籤是這樣的:

$insertSuccessMessage.append('<div class="alert alert-success alert-dismissible" id='successPopup' role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button><span id="successSpan"></span></div>'); 
$successSpan.text("Successfully inserted value!"); 

方:我使用Bootstrap。

所以successPopup會出現,但文本不會;文本不會插入到span標籤之間。

+3

您需要提供更多顯著的代碼我們可以幫你解決這個問題。就我所知,successSpan是未定義的。 –

+1

你的代碼有錯誤,混合單引號和雙引號。在以'$ insertSuccessMessage.append ...'開始的行上,'id ='successPopup''部分應該用雙引號引起來。用單引號將字符串轉義出來。 – agrm

回答

7

您未定義$successSpan。您需要使用$('#successSpan')通過ID您的編輯後訪問元素

更新:

您正在定義$successSpan爲時尚早。當你定義它時,#successSpan元素還不存在。

+0

正確,但他將如何訪問insertSuccessMessage在第一個地方? –

+0

是的,你說得對。我在'.append'行之後添加了變量'$ successSpan'。謝謝。 – MonkeyOnARock

2
$insertSuccessMessage.append(' 
<div class="alert alert-success alert-dismissible" id='successPopup' role="alert"> 
<button type="button" class="close" data-dismiss="alert" aria-label="Close"> 
<span aria-hidden="true">&times;</span></button><span id="successSpan"> 
</span></div>'); 
$successSpan.text("Successfully inserted value!"); 

您在定義successPopup上的id屬性時使用未轉義的撇號來打破字符串。

<div class="alert alert-success alert-dismissible" id='successPopup' role="alert"> 

應該是

<div class="alert alert-success alert-dismissible" id="successPopup" role="alert"> 

或替代地

<div class="alert alert-success alert-dismissible" id=\'successPopup\' role="alert"> 
0
嘗試

本變形

$insertSuccessMessage.append('<div class="alert alert-success alert-dismissible" id="successPopup" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button><span id="successSpan"></span></div>'); 
$('#successSpan').text("Successfully inserted value!"); 
0

使用串選擇器。

試試這個:

$('#insertSuccessMessage').append('<div class="alert alert-success alert-dismissible" id="successPopup" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button><span id="successSpan"></span></div>'); 
$('#successSpan').html("Successfully inserted value!"); 

這裏是做工精細!

1

在嘗試引用它之前,DOM中是否存在#successSpan元素?附加#successSpan#insertSuccessMessage後,你應該能夠引用#successSpan這樣的:

$('#successSpan').text("Successfully inserted value!"); 
+0

是的,那是我的問題。我指的是它在DOM中存在之前的元素。它現在已經修復並正在工作。 – MonkeyOnARock