Innerhtml的Javascript帮助

Innerhtml的Javascript帮助,javascript,variables,Javascript,Variables,我一直在尝试下面的Javascript代码,它允许我根据单击的内容向html中插入不同的变量。不幸的是,它不会显示变量的值,而只显示下面定义的变量名 <head> <script type="text/javascript"> var data=new String () data="This is what I want to Show" function myFunction(text) { elem = document.getElementById('repla

我一直在尝试下面的Javascript代码,它允许我根据单击的内容向html中插入不同的变量。不幸的是,它不会显示变量的值,而只显示下面定义的变量名

<head>
<script type="text/javascript">
var data=new String ()
data="This is what I want to Show"
function myFunction(text) 
{
elem = document.getElementById('replace');
elem.innerHTML = text
}

</script>
</head>

<body>
<button onclick="myFunction('data')">  Press    </button>

<div id="replace">
Test
</div>

</body>

变量数据=新字符串()
data=“这就是我想要展示的”
函数myFunction(文本)
{
elem=document.getElementById('replace');
elem.innerHTML=文本
}
按
试验

数据
附加到全局
窗口
对象。要访问它:

elem.innerHTML = window[text];
此外,无需使用
new String()
,因为可以通过以下方式定义字符串:

var data = "This is what I want to Show";

数据
附加到全局
窗口
对象。要访问它:

elem.innerHTML = window[text];
此外,无需使用
new String()
,因为可以通过以下方式定义字符串:

var data = "This is what I want to Show";
如果“这是您想要显示的”,最好将其放在参数中,以便在有更多按钮时可以重用该函数:

<button onclick="myFunction('This is what I want to Show')">Press</button>
请参阅。

如果“这是您想要显示的”,最好将其放在参数中,以便在有更多按钮时可以重用该函数:

<button onclick="myFunction('This is what I want to Show')">Press</button>

请参阅。

如果传递的是字符串而不是变量,请使用:

onclick="myFunction(data)"
字符串必须被引用,变量(在本例中是对字符串的引用)不能被引用(否则它将被评估为文本字符串)

顺便说一句,JavaScript不要求您在为字符串赋值之前显式创建字符串,您只需使用:

var data = 'This is what I want to show.';
当使用
innerHTML
工作时,如果您所做的只是更新文本内容(并且没有要考虑的嵌套节点),您只需使用:

function myFunction(text) {
    // the var declaration prevents the variable becoming global
    var elem = document.getElementById('replace');
    elem.appendChild(document.createTextNode(text));
}
为了使其更为通用,请避免对要在函数中更改的元素的
id
进行硬编码,而是将其传递给函数:

function myFunction(text, elem) {
    // testing if the element is a node, if not assume it's a string of the id:
    var elem = elem.nodeType === 1 ? elem : document.getElementById('replace');
    elem.appendChild(document.createTextNode(text));
}
并将上述各项与:

onclick="myFunction(data, 'replace')"
或:

我还强烈建议不要使用内嵌式/突兀式JavaScript,只是为了更容易在一个地方更新要调用的函数、参数和函数本身(而不必浏览文档并查找调用函数的每个实例):

//在这里定义函数
var buttons=document.getElementsByTagName(“按钮”),
replace=document.getElementById('replace'),
数据='我要显示的文本';
对于(变量i=0,len=buttons.length;i
如果传递的是字符串而不是变量,请使用:

onclick="myFunction(data)"
字符串必须被引用,变量(在本例中是对字符串的引用)不能被引用(否则它将被评估为文本字符串)

顺便说一句,JavaScript不要求您在为字符串赋值之前显式创建字符串,您只需使用:

var data = 'This is what I want to show.';
当使用
innerHTML
工作时,如果您所做的只是更新文本内容(并且没有要考虑的嵌套节点),您只需使用:

function myFunction(text) {
    // the var declaration prevents the variable becoming global
    var elem = document.getElementById('replace');
    elem.appendChild(document.createTextNode(text));
}
为了使其更为通用,请避免对要在函数中更改的元素的
id
进行硬编码,而是将其传递给函数:

function myFunction(text, elem) {
    // testing if the element is a node, if not assume it's a string of the id:
    var elem = elem.nodeType === 1 ? elem : document.getElementById('replace');
    elem.appendChild(document.createTextNode(text));
}
并将上述各项与:

onclick="myFunction(data, 'replace')"
或:

我还强烈建议不要使用内嵌式/突兀式JavaScript,只是为了更容易在一个地方更新要调用的函数、参数和函数本身(而不必浏览文档并查找调用函数的每个实例):

//在这里定义函数
var buttons=document.getElementsByTagName(“按钮”),
replace=document.getElementById('replace'),
数据='我要显示的文本';
对于(变量i=0,len=buttons.length;i
这是您的代码

<button onclick="myFunction('data')">  Press    </button>
因为这里是一个字符串,而不是引用对象“数据”。。 所以我想这就是你想要的….
一,


2. <代码>按

这是您的代码

<button onclick="myFunction('data')">  Press    </button>
因为这里是一个字符串,而不是引用对象“数据”。。 所以我想这就是你想要的….
一,



2. <代码>按

您正在使用变量文本将值分配给带有id replace的dive。 用这个

elem.innerHTML = data instead elem.innerHTML = text.

或者将参数传递给函数,而不使用单个qoute

您正在使用变量文本将值分配给带有id replace的dive。 用这个

elem.innerHTML = data instead elem.innerHTML = text.

或者将参数传递给函数,而不使用单个qoute

是否要将
测试
替换为
按钮
或其不同。请详细说明。很抱歉,当您按下按钮时,单词“Test”应替换为“这是我想要显示的内容”替换为“press by press by press FYI”,行
var data=new String()
是不必要的,因为您正在覆盖下一行中的值。只需执行
var data=“这是我想要显示的”
,如果可能,请始终使用文字和原语值。是否要将
测试
替换为
按钮
或其不同。请详细说明。很抱歉,当您按下按钮时,单词“Test”应替换为“这是我想要显示的内容”替换为“press by press by press FYI”,行
var data=new String()
是不必要的,因为您正在覆盖下一行中的值。只要执行
var data=“这就是我想要显示的”
,如果可能,请始终使用文字和原语值。