javascript - jQuery对象输出未定义
问题描述
我很难让函数在 JavaScript 中使用 innerHTML 调用返回输出。
这是代码:
$(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 输出结果。
解决方案
innerHTML
是一个 DOM 元素属性,不直接被 jQuery 公开。改为使用它html()
。
参考。http://api.jquery.com/html/
document.getElementById('title').innerHTML = $table.html();
推荐阅读
- python - Python TKinter:画布图像文件只包含一个黑色像素而不是 512x256 绿色像素,为什么?
- javascript - Graphql说未定义类型的验证错误
- apache-spark - 以前工作的火花作业现在只抛出“java.io.IOException:打开的文件太多”错误?
- c# - 为什么 System.Windows.Forms.Control 没有收到所有 WM_ 消息?
- google-apps-script - 有没有更快的方法来使用 Google Appscript 显示/隐藏多列?
- microsoft-graph-api - 用于列出频道消息和发布频道的 Microsoft Graph API 引发错误请求
- java - 从 Spring Java 中的其他类访问方法时出错
- winforms - 如何保留 BindingSource EndEdit() 还原更改?
- ajax - 表单ajax什么都不返回
- python - Python plotly 徽标从图表中消失