字符串连接与DOM变量的错误顺序

时间:2014-07-21 20:01:19

标签: javascript string google-maps dom concatenation

上下文如下:我正在编写一个网页,对来自协会的人进行地理定位,并在wordpress框架内的谷歌地图上显示他们的位置。当我点击他们的标记时,我会显示一个信息窗口及其信息。在地图上,我可以使用表单过滤/搜索人员(例如,仅查看名为Paul的人)。到目前为止,这一切都在发挥作用。

我的问题如下:当我进行搜索时,我想在地图下方显示结果。因为我可以得到相当多的结果(让我们通常说100左右),我想用一些分页来展示它们。当我对一些虚拟文本进行硬编码时,我设法使用了paginator。不过,我无法对搜索结果进行分页。 如果我做

<div id="pagination"></div>
<table id="content">
<tbody>
    <tr>
        Paul
    </tr>
</tbody>
<tbody>
    <tr>
        John
    </tr>
</tbody>

<tbody>
    <tr>
        Richard
    </tr>
</tbody>
<tbody>
    <tr>
        George
    </tr>
</tbody>
</table>
<script>
    jQuery(function($) {
        var items = $("#content tbody tr");
        var numItems = items.length;
        var perPage = 5;
        items.slice(perPage).hide();
        $("#pagination").pagination({
            items: numItems,
        itemsOnPage: perPage,
            cssStyle: "light-theme",
            onPageClick: function(pageNumber) {                             
                var showFrom = perPage * (pageNumber - 1);
                var showTo = showFrom + perPage;
                items.hide() 
                     .slice(showFrom, showTo).show();
            }
        });
    });
</script>

这是有效但如果我尝试动态编写&#34;内容&#34;的html。读取我的标记的属性名称,如下所示:

var pag_res = "";   
document.getElementById('content').innerHTML = "";
for (mark_cnt = 0; mark_cnt < markers.length; mark_cnt++){
    pag_res += "<tbody><tr>" + markers[mark_cnt].desc + "</tbody></tr>";
}
document.getElementById('content').innerHTML = pag_res;

这不起作用,如果我查看控制台中的document.getElementById(&#39; content&#39;)。innerHTML,则会在关闭tbody后写入标记的描述。我有类似的东西:                                 保罗                                 约翰

任何人都不知道问题源于什么?

1 个答案:

答案 0 :(得分:0)

我认为您可以通过编辑此行来解决问题:

pag_res += "<tbody><tr>" + markers[mark_cnt].desc + "</tbody></tr>";

最后两个标签是错误的方式......它应该是:

pag_res += "<tbody><tr>" + markers[mark_cnt].desc + "</tr></tbody>";

当你在那里时,你也可以整理一下你的HTML。一个表应该只有一个,你错过了你的标签...它应该更像是:

<table>
<tbody id="content">
    <tr>
        <td>Paul</td>
    </tr>
    <tr>
        <td>John</td>
    </tr>
    <tr>
        <td>Richard</td>
    </tr>
    <tr>
        <td>George</td>
    </tr>
</tbody>
</table>

请注意,我已将id =“content”移到了......您需要调整代码看起来像:

pag_res += "<tr><td>" + markers[mark_cnt].desc + "</td></tr>";