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 = footo$("#place").val(foo)没有运气。

div 具有值id="place"class="place".

4

4 回答 4

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

应该

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

用 jQuery 来做

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

val将设置诸如输入字段之类的值,以使用要使用该html()函数的 jQuery 更改内部 HTML

于 2013-02-14T16:08:30.003 回答
3

试试这个:

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

或者

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

此外,它不是innerHtml,它应该在innerHTML这里:

将其更改为:

document.getElementById("place").innerHTML = placeHTML;
于 2013-02-14T16:07:45.273 回答
1

这条线错了,

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

更改innerHtmlinnerHTML(HTML 应为大写),

document.getElementById("place").innerHTML = placeHTML;
于 2013-02-14T16:10:15.833 回答
0

可以尝试使用

$("#place").html(placeHTML);
于 2013-02-14T16:10:00.327 回答