Javascript 在google工作表边栏的div中显示变量

Javascript 在google工作表边栏的div中显示变量,javascript,sidebar,google-sheets-api,Javascript,Sidebar,Google Sheets Api,我在googlesheets code.gs中有一个函数;该函数为变量赋值 function assignVariable() { var name = "My Name" } 我在sidebar.html中有一个id=“var”的span <span id="var"></span> 我想用id=“var”在span中显示变量“name”。我尝试使用getElementById并替换为innerHtml,但它对我不起作用(下面的代码) document.get

我在googlesheets code.gs中有一个函数;该函数为变量赋值

function assignVariable()
{
var name = "My Name"
}
我在sidebar.html中有一个id=“var”的span

<span id="var"></span>

我想用id=“var”在span中显示变量“name”。我尝试使用getElementById并替换为innerHtml,但它对我不起作用(下面的代码)


document.getElementById(“var”).innerHTML=name;
有什么帮助吗?

它不起作用

原因?

因为变量
name
函数的本地变量。外部世界无法使用它

function assignVariable()
{
    // local scope..
    var name = "My Name";
}

name; // undefined... :(
我不建议您创建一个全局变量,但我不知道您为什么要这样打印它。因此,根据注释,您需要从函数返回结果或修改其范围

有很多方法可以实现这一点。其中之一是,

function assignVariable()
{
    var name = "My Name";
    return name;
}
HTML

<span id="var" style="vertical-align: middle"></span>
<script>
    document.getElementById("var").innerHTML = assignVariable();
</script>

document.getElementById(“var”).innerHTML=assignVariable();


var name=“我的名字”
document.getElementById(“var”).innerHTML=name;


函数myFunction(名称){
var name=“我的名字”
返回名称;
}
document.getElementById(“var”).innerHTML=myFunction(名称);

如果您的值是硬编码的,您应该尝试此操作。…

我复制并粘贴了您的代码;它不起作用。它给了我一个空白范围。您的代码很好,但它没有从函数assignVariable()中获取值;。相反,我得到了一个空白区间。任何将code.gs中的任何数据拉入侧栏HTML的工作代码都适合我。我可以调整和修改代码以满足我的需要。我已经用工作演示更新了我的答案。检查css和其他邻近代码。一定是发生了别的事情。另外,请注意,我在
span
下面包含了脚本。这是因为在其他情况下,脚本无法操作span。这就是DocumentReady方便的地方。建议:将脚本放在HTML正文内容之后。好的,这对您的工作演示很有效;所以这应该在谷歌的工作表和侧边栏上也起作用,但是没有。这就是问题所在。我想在google工作表的侧栏上显示该值。我将JS代码放在code.gs上,然后将HTML放在侧栏HTML代码上,它不从函数中获取值。对不起。如果你能在谷歌工作表上做同样的事情并尝试一下,也许你会明白我做错了什么。我想在侧边栏中显示一个变量。变量必须由code.gs文件中的函数指定。任何类型的工作代码都适合我。我可以调整它,并使用它为我的需要。当前,在getElementById方法中调用函数不会返回该值。
<span id="var" style="vertical-align: middle"></span>
<script>
    document.getElementById("var").innerHTML = assignVariable();
</script>
<body>

<span id="var"></span>

<script>
var name = "My Name"
document.getElementById("var").innerHTML = name;
</script>

</body>
<script>
function myFunction(name) {
var name = "my name"
    return name;
}
document.getElementById("var").innerHTML = myFunction(name);
</script>