2015-01-26 51 views
1

我想使用jQuery更改<b>標記中文本行的文本,但它似乎不起作用。在jQuery中使用ID更改文本

var status = false; 
 

 
function updateStatus{$(document).ready(function(){ 
 
\t if (status == false){ 
 
\t \t $('#status').text('Text'); 
 
\t \t $('#status').css("color","green");} 
 
\t if (status == true){ 
 
\t \t $('#status').text('Text'); 
 
\t \t $('#status').css("color","red");} 
 
})}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="assets/js/status.js"></script> 
 

 
<b id="status"></b>

回答

1

您沒有使用jQuery庫很喜歡它的用意。你有一個文檔就緒的回調處理程序被定義在一個你永遠不會調用的函數中,並且有一些語法錯誤。你應該把修改文本的邏輯放在它自己獨立的函數中,遠離任何事件處理程序,然後調用當文檔準備就緒時,它就會起作用。試試這個:

var status = false; 
 
    
 
    function updateStatus() { // you were missing "()" 
 
    \t if (status == false) { // no need for two separate if-statements 
 
    \t \t $('#status').text('Text'); 
 
    \t \t $('#status').css("color","green"); 
 
     } else { 
 
    \t \t $('#status').text('Text'); 
 
    \t \t $('#status').css("color","red"); 
 
     } 
 
    } 
 

 
    // Define ready-handler 
 
    $(document).ready(function() { 
 
     // call your update function 
 
     updateStatus(); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<b id="status"></b>

+0

謝謝。我是JavaScript和jQuery的新手。再一次感謝你。 – Steady 2015-01-26 20:45:14

0

首先,你錯過了()的函數聲明,其次你不調用該函數。

這裏的錯誤代碼:

function updateStatus{ //should be function updateStatus(){ 

雖然你可以使用這樣的:

var status = false; 

function updateStatus(){//declare a function 
    if (status == false){ 
     $('#status').text('Text'); 
     $('#status').css("color","green"); 
    } 
    if (status == true){ 
     $('#status').text('Text'); 
     $('#status').css("color","red");} 
    } 
} 

$(document).ready(function(){ 
    updateStatus();//call the function when DOM is ready 
}); 
+0

是的,我在Cory見過,感謝幫助我! – Steady 2015-01-26 20:45:43