Javascript 我的newtableHTML未定义

Javascript 我的newtableHTML未定义,javascript,jquery,Javascript,Jquery,我犯了这样的错误 ReferenceError:未定义newtableHTML 这使得我无法访问元素,我必须重新加载页面,这样代码才能工作。我只知道当打开控制台时,它会变成newtableHTML未定义 如何在submitButton函数之外调用它 jQuery: $('.submitButton').click(function() { function getTableList() { var addTable = /*htmlcode*/ ; return addTab

我犯了这样的错误

ReferenceError:未定义newtableHTML

这使得我无法访问元素,我必须重新加载页面,这样代码才能工作。我只知道当打开控制台时,它会变成
newtableHTML未定义

如何在submitButton函数之外调用它

jQuery:

$('.submitButton').click(function() {
  function getTableList() {
    var addTable = /*htmlcode*/ ;
    return addTable;
  }
  if ( /* code */ ) {
    // some code
  } else {
    var resultTable = JSON.parse(localStorage.getItem("tableList"));
    if (resultTable == null) {
      resultTable = [];
    }
    var newtableHTML = getTableList();
    resultTable.push({
      table: newtableHTML
    });
    localStorage.setItem("tableList", JSON.stringify(resultTable));
    $('.tab-content').append(newtableHTML);
    var newTable = $("#table" + localStorage.Index).dataTable();
  }
}); // submitButton function

var resultTable = JSON.parse(localStorage.getItem("tableList"));
if (resultTable != null) {


  for (var i = 0; i < resultTable.length; i++) {
    var items = resultTable[i];
    $(".tab-content").append(items.table);
  }
  $(".dynamicTable").dataTable();
} else {
  let initialTable = [];
  initialTable.push({
    table: newtableHTML
  });
  localStorage.setItem("tableList", JSON.stringify(initialTable));
}
$('.submitButton')。单击(函数(){
函数getTableList(){
var addTable=/*htmlcode*/;
返回addTable;
}
如果(/*代码*/){
//一些代码
}否则{
var resultTable=JSON.parse(localStorage.getItem(“tableList”);
if(resultable==null){
可结果=[];
}
var newtableHTML=getTableList();
可结果推送({
表:newtableHTML
});
setItem(“tableList”,JSON.stringify(resultable));
$('.tab content').append(newtableHTML);
var newTable=$(“#表”+localStorage.Index).dataTable();
}
}); // 提交按钮功能
var resultTable=JSON.parse(localStorage.getItem(“tableList”);
if(可结果!=null){
for(var i=0;i
以前,
var newtableHTML
let newtableHTML


然后我将其更改为
var newtableHTML
,但运气不好。

这是因为您在
$('.submitButton')中声明了
var newtableHTML
。单击(function()
,并尝试在其外部访问它

您必须在
$('.submitButton')之外声明-
newtableHTML
。单击(function()
)或全局以使其可访问

试试这样的-

var newtableHTML; //declare it here
$('.submitButton').click(function() {
  function getTableList() {
    var addTable = /*htmlcode*/ ;
    return addTable;
  }
  if ( /* code */ ) {
    // some code
  } else {
    var resultTable = JSON.parse(localStorage.getItem("tableList"));
    if (resultTable == null) {
      resultTable = [];
    }
    newtableHTML = getTableList();  //initialize it here

@Ananda您的
getTableList()
函数定义在哪里?您能发布代码吗?
$('.submitButton')。单击(function(){function getTableList(){var addTable=/*htmlcode*/;return addTable;}
@Ananda很高兴它能工作。请检查JavaScript中的作用域-
var newtableHTML; //declare it here
$('.submitButton').click(function() {
  function getTableList() {
    var addTable = /*htmlcode*/ ;
    return addTable;
  }
  if ( /* code */ ) {
    // some code
  } else {
    var resultTable = JSON.parse(localStorage.getItem("tableList"));
    if (resultTable == null) {
      resultTable = [];
    }
    newtableHTML = getTableList();  //initialize it here