向表中追加新行是重复的

时间:2013-12-14 01:50:53

标签: jquery google-maps-api-3

我想在此 DEMO 中将Google地图位置lat和long值放入表格中,但我不知道为什么jquery是复制表格行?

以下是我正在使用的代码:

var map;
$(document).ready(function () {
    var latlng = new google.maps.LatLng(49.241943, -122.889318);
    var myOptions = {
        zoom: 12,
        center: latlng,
        disableDefaultUI: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var cnt = 0;
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    google.maps.event.addListener(map, 'click', function (event) {
        marker = new google.maps.Marker({
            position: event.latLng,
            map: map,
            draggable: true,
            title: "Camp Num: " + ++cnt
        });
           $('#myTable tbody').append('<tr class="child"><td>'+ marker.title +'</td><td>'+ marker.position.lat()+'</td><td>'+ marker.position.lng()+'</td></tr>');
    });

});

你能告诉我为什么会这样吗?

1 个答案:

答案 0 :(得分:4)

Tbody表示元素的主体,浏览器在表中插入tbody元素。如果您使用chrome检查器工具或firebug查看元素,则可以在表中看到两个tbody。因此,您会在两个tbody中看到两行。你可以这样写:

 $('#myTable tbody:eq(1)').append('<tr class="child"><td>'+ marker.title +'</td><td>'+ marker.position.lat()+'</td><td>'+ marker.position.lng()+'</td></tr>');