Javascript: wie finden Sie die Inhalte der h3-header mit der id "map"?

Ich habe eine web-Seite mit einer Google Map, die gut funktioniert. Anstatt den Namen der Stadt fest auf "Bochum" dort möchte ich finden, der header

<h3 id="city"><i>Bochum</i></h3>

und verwenden Sie diesen Wert in meiner init () - Funktion.

Ich bin wahrscheinlich etwas fehlt-Moll im code unten. Bitte helft mir und bitte mich um die API-Referenz für ein solches "Kind", meine Javascript-Kenntnisse sind sehr eingerostet.

Außerdem Frage ich mich, wie konnte ich nur an einem mehr-Wert durch meine h3-überschrift, wie die Farbe für meine marker?

Danke!
Alex

Javascript: wie finden Sie die Inhalte der h3-header mit der id

<html>
<head>
<style type="text/css">
        h1,h2,h3,p { text-align: center; }
    #map { width: 400; height: 200; margin-left: auto; margin-right: auto; }
</style>
<script type="text/javascript"
    src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
function init() {
        for (var child in document.body.childNodes) {
                child = document.body.childNodes[child];
                if (child.nodeName == "H3")
                        alert(child);
        }

    //use the #city value here instead
    city = 'Bochum';

    if (city.length > 1)
        findCity(city);
}

function createMap(center) {
    var opts = {
        zoom: 9,
        center: center,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
    };
    return new google.maps.Map(document.getElementById("map"), opts);
}

function findCity(city) {
    var gc = new google.maps.Geocoder();
    gc.geocode( { "address": city}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var pos = results[0].geometry.location;
            var map = createMap(pos);
            var marker = new google.maps.Marker({
                map: map, 
                title: city,
                position: pos,
            });
        }
    });
}
</script>
<head>
<body onload="init();">
<h3 id="city"><i>Bochum</i></h3>
<div id="map"></div>
</body>
</html>
  • Für den Anfang sollten Sie wirklich werden unter Verwendung von jQuery: jquery.com
  • Warum laden ein 80kb-Bibliothek für eine Sache, die getan werden kann mit einer Zeile?
  • es ist nur 26kb einmal komprimiert. Es ist ein trade-off zwischen der Anwendung code einfacher und zuverlässiger vs, womit die gesamte Seite auf eine kleinere Größe. Zum Beispiel, wenn wir mit $('#Ort').text(), dann ist es kürzer und wird nicht brechen, wenn die <i> - tag wird entfernt.
  • Danke, aber ich glaube nicht, lernen jQuery noch...
Schreibe einen Kommentar