如何让我的displayString显示我的字符串

时间:2014-03-26 02:50:35

标签: javascript html

我试图让我的显示字符串显示我的对象。我是javascript的新手,所以它可能是一个简单的答案!

<script type="text/javascript">
    function displayString(){

        var hunterLibrary = {
            "Title": "Hunter Library",
            "Latitude": 35.313316,
            "Longitude": -83.179788
        };

        var hFRBuilding = {
            "Title": "HFR Building",
            "Latitude": 35.308959,
            "Longitude": -83.186385
        };

        var downtownDillsboro = {
            "Title": "Downtown Dillsboro",
            "Latitude": 35.36949,
            "Longitude": -83.252764
        };


        displayString =
            "" + hunterLibrary.Title + "</b><br/>" +
            "Latitude: " + hunterLibrary.Latitude + "<br />" +
            "Longitude: " + hunterLibrary.Longitude + "<br />" +
            "" + hFRBuilding.Title + "</b><br/>" +
            "Latitude: " + hFRBuilding.Latitude + "<br />" +
            "Longitude: " + hFRBuilding.Longitude + "<br />" +
            "" + downtownDillsboro.Title + "</b><br/>" +
            "Latitude: " + downtownDillsboro.Latitude + "<br />" +
            "Longitude: " + downtownDillsboro.Longitude + "<p></p>";

        console.dir(hunterLibrary);
        console.dir(hFRBuilding);
        console.dir(downtownDillsboro);

        document.getElementById("divDisplay").innerHTML = displayString;

        }
</script>
</head>
<body>
    <h1><b>Exercise 14: Creating and Using Javascript Objects</b></h1>
    <br />
    <div id="divDisplay"></div>

</body>
</html>

我只需要让它显示加载页面的第二个字符串。目前它只是显示标题而没有别的。

3 个答案:

答案 0 :(得分:1)

<script>displayString()</script>

下方添加<div id="divDisplay"></div>
<body>
    <h1><b>Exercise 14: Creating and Using Javascript Objects</b></h1>
    <br />
    <div id="divDisplay"></div>
    <script>displayString()</script>
</body>
</html>

答案 1 :(得分:0)

什么都没有调用你的功能。 :)你所做的是声明函数存在;你已经教过页面如何来显示你的字符串,但你实际上并没有要求它这样做。

尝试

window.onload(function() { displayString() });

PS-此外,如果您刚刚进入javascript,请访问:www.jquery.com并了解它。我自学编码(在某些方面我仍然很业余)并且长时间搁置学习图书馆,自己思考“我必须学会以正确的方式做到这一点......”。作为一个学术练习,是的,学习你的基础知识。但是如果你想真正完成某些事情,那就去学习jQuery吧,因为互联网告诉你的所有关于javascript在过去5 - 8年里可以做些什么的事情都是jQuery和类似的库可以做的事情。你可以构建你自己的砖块然后建造你的房子,但如果你还想在你老了之前住在它里面的话。 ;)

更新

试试这个版本的功能;有更小的拼写错误(如果在正确调用函数之后,很可能是你的答案),那就更清晰,更容易了解:

function displayString(){
    var buildings = {
hunterLibrary:{
        "Title": "Hunter Library",
        "Latitude": 35.313316,
        "Longitude": -83.179788
    },
    hFRBuilding: {
        "Title": "HFR Building",
        "Latitude": 35.308959,
        "Longitude": -83.186385
    },
    downtownDillsboro: {
        "Title": "Downtown Dillsboro",
        "Latitude": 35.36949,
        "Longitude": -83.252764
    }
    };

    // save saves you the typing, and easier to debug
    var EOL = "</b><br />"
    var lat = "latitude";
    var long ="longitude";
    var displayString = '';

    for (b in buldings) {
        displayString += b.Title + EOL + lat + b.Latitude + EOL + long + b.Longitude + EOL;
    };

    document.getElementById("divDisplay").innerHTML = displayString;
    console.dir(buildings);
}

你的文件应该去:

<html>
<head></head>
<body>
 <!---- all your page ------>
<script>
   //the function
  window.onload( displayString() );
</script>

答案 2 :(得分:0)

首先,让您的<script>先加载DOM。将<script>放在divDisplay下。问题是脚本无法找到div的位置并发出错误。

其次,避免声明相同的变量或函数名称。