簡體   English   中英

帶DOM變量的字符串連接順序錯誤

[英]String concatenation bad order with DOM variable

上下文如下:我正在編寫一個網頁,對某個協會的人進行地理定位,並在wordpress框架內的google地圖上顯示他們的位置。 當我單擊他們的標記時,會顯示一個包含其信息的信息窗口。 在地圖上,我可以使用表單過濾/搜索人員(例如,僅查看名為Paul的人員)。 到目前為止,所有這些工作正常。

我的問題如下:搜索時,我想在地圖下方顯示結果。 由於我可以得到很多結果(通常約為100個結果),因此我希望通過分頁顯示它們。 當我對一些偽文本進行硬編碼時,我設法使用了分頁器。 但是,我無法對搜索結果進行分頁。 如果我做

<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>

這是可行的,但是如果我嘗試動態編寫“內容”的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('content')。innerHTML,則標記的描述是在tbody關閉之后編寫的。 我有類似的東西:Paul John

任何人都不會知道問題出在哪里?

我認為您可以通過編輯以下行來解決此問題:

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>";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM