2013-02-14 63 views
0

使用AJAX我已檢索到Json信息,但在函數過程中,我無法在相關Div中顯示文本。

該代碼正常工作到底部,因爲我可以看到使用控制檯,但即使我將佔位符文本放在div「place」中,佔位符文本仍然保留與該函數末尾相同的權限。

  $.each(data, function(i,item){ 
       if(i===0){ 
        var placeHTML='<h2>'+item.name+'</h2>' + 
        '<p>where you can get <br>' + 
        'a pint of <em>'+item.pint+'</em> for only<br>' + 
        '<span>£'+item.cost+'!</span></p>'; 

        window.localStorage.setItem("placeName", item.name); 
        window.localStorage.setItem("placeLoc1", item.location); 
        window.localStorage.setItem("placeLoc2", item.location2); 
        window.localStorage.setItem("placeEmail", item.email); 
        window.localStorage.setItem("placeNumber", item.number); 

        console.log("Data saved"); 

        document.getElementById("place").innerHtml = placeHTML; 

        console.log("Data placed:"); 
        console.log(placeHTML); 

        $("#loadText").fadeOut(); 
        $('#place').fadeIn(); 

        return false; 
       } 
      }); 

我自己也嘗試沒有運氣更換document.getElementById("place").innerHTML = foo$("#place").val(foo)

div的值爲id="place"class="place"

+0

你能提供的jsfiddle? – 2013-02-14 16:08:04

+0

ajax在哪裏? – 2013-02-14 16:08:47

+0

爲什麼你只重複一個實例?它是'.innerHTML = placeHTML'或'$('#place')。html(placeHTML)'...... – adeneo 2013-02-14 16:09:09

回答

3
document.getElementById("place").innerHtml = placeHTML; 

應該

document.getElementById("place").innerHTML = placeHTML; 

用jQuery做

$("#place").html(placeHTML) 

val將設置東西的價值等的輸入字段,更改與jQuery的內部HTML,你要使用的html()功能

+0

非常感謝。整晚都在睡覺,我錯過了那樣愚蠢的小錯誤! – Ben 2013-02-14 16:10:01

+0

沒問題。馬上發現它,因爲我以前自己做過。 – 2013-02-14 16:11:24

3

試試這個:

$("#place").html(foo) 

或者

$("#place").text(foo) 

而且,它不是innerHtml,它應該是innerHTML這裏:

將其更改爲:

document.getElementById("place").innerHTML = placeHTML; 
+2

在這種情況下'.text()'不會工作,因爲字符串中有標記。 – Pointy 2013-02-14 16:09:41

+1

完美,謝謝。我不能相信我錯過了小寫的'tml' ... – Ben 2013-02-14 16:10:26

+0

@BenPearlKahan但是你最後寫的是矛盾的。你說過,*我也嘗試過替換*'document.getElementById(「place」)。innerHTML = foo'。 – 2013-02-14 16:11:22

0

可能會嘗試使用

$("#place").html(placeHTML); 
1

此行是錯誤的,

document.getElementById("place").innerHtml = placeHTML; 

變化innerHtmlinnerHTML(HTML應該是大寫),

document.getElementById("place").innerHTML = placeHTML;