2010-12-23 74 views
0

這裏是我的html和jquery,當頁面加載時,我應該得到一個值爲10的警告框,但是我什麼也得不到。我究竟做錯了什麼?如何從div中檢索值

<html> 
<head> 
    <script src="js/jquery-1.4.4.min.js" type="text/javascript"></script> 

    <script type="text/javascript"> 

    val = $("#t").text(); 
    alert(val); 

    </script> 
</head> 
<body> 

    <div id="t">10</div> 
</body> 
</html> 
+0

沒關係我想通了。 – iisarmenhb 2010-12-23 10:24:16

回答

1

的HTML

<div id="t">10</div> 

是腳本後,腳本什麼也沒找到之前運行。

你必須改變順序

<div /> 
<script /> 

或者使用jQuery.ready

Example on jsBin

0

您正在試圖找回從尚不存在的元素的東西。最簡單的解決方案是將您的JS代碼移動到HTML的底部(就在</body>之前)。

另一種方案是「包裝」一個jQuery ready事件中的代碼:當DOM準備與被操縱

$(document).ready (function() { 
    val = $("#t").text(); 
    alert(val); 
}); 

ready事件將觸發。

3

嘗試始終包裹你的代碼運行時document有填充的元素,像這樣:

<script type="text/javascript"> 
$(function() { 
    val = $("#t").text(); 
    alert(val); 
}); 
</script> 

...否則當$("#t")運行以選擇它不運行id="t"元素......但是元素尚未在DOM中找到。

+0

是的,我注意到,謝謝 – iisarmenhb 2010-12-23 10:25:39

0

試試這個

<div id="t">10</div> 

val = $("#t").html(); 
    alert(val); 
0

之前的股利已被瀏覽器處理的腳本執行。

該div尚未在DOM中。

您既可以在紙條標記移動到div低於或包裹你的代碼在現成功能:

<script type="text/javascript"> 
    $(function() { 
     val = $("#t").text(); 
     alert(val); 
    }); 
</script>