jQuery对象输出未定义

时间:2018-07-24 18:47:46

标签: javascript jquery html arrays json

我很难让函数使用JavaScript中的innerHTML调用返回输出。

它输出为'Undefined':
enter image description here

这是代码:

$(document).ready(function(){
    $pnp.setup({
        baseUrl: "https://fh126cloud.sharepoint.com/TrainingResourceCenter/O365Training"
    });

    $pnp.sp.web.lists.getByTitle("O365RoadMap").items.get().then(function(items) {
        console.log(items);
        var result = items.map(item => {
            return {
                Title: item.Title,
                Description: item.Description,
                Link: item.Link
            }
        });
        var $table = roadMapDisplay(result);
        console.log($table);
        document.getElementById('title').innerHTML = $table.innerHTML;
    });

    function roadMapDisplay(items) {

        var table = $('<table/>');

        items.forEach(item => {
            table.append('<tr/>');
            table.append(`<td>${item.Title}</td>`);
            table.append(`<td>${item.Description}</td>`);
            table.append(`<td>${item.Link}</td>`);
        });

        return table;
        
    } 
});
<div id="title"></div>

<script src="/TrainingResourceCenter/O365Training/SiteAssets/roadmap.js?v=1"></script>

我希望它从roadMapdisplay输出结果。

1 个答案:

答案 0 :(得分:1)

innerHTML是DOM元素属性,并非直接由jQuery公开。要获取它,请改用html()

参考http://api.jquery.com/html/

document.getElementById('title').innerHTML = $table.html();