在我的脚本中,我有2个功能。对div元素的第一个函数引用,在div中创建一个段落元素,并将一些文本附加到此段落元素; 在我的第二个函数由附加到链接元素的onclick事件触发。我希望在单击链接时将div中的文本更改为另一个文本。我确实意识到有两个选项可以实现这个目标:
1)声明全局变量并在我的第二个函数中使用它们; 2)将变量值从第一个函数传递给第二个函数,并从第二个函数
中操纵该值但问题是如何正确地将变量值从第一个函数传递给第二个函数:
以下是代码:
<a href=''onclick='change();return false;'>Change</a>
<div id='box'></div>
使用Javascript:
window.onload= function createEl(){
var el = document.createElement('p');
var x = document.getElementById('box');
var text = 'text';
el.appendChild(document.createTextNode(text));
x.appendChild(el);
}
function change(){
x.innerHTML="other text";
}
答案 0 :(得分:1)
一般来说你可以这样写:
function one(){
var var1 = "hello";
two(var1);
}
function two(x){
alert(x);
}
这会提醒“你好”。
答案 1 :(得分:0)
对于你正在做的事情,我会通过代码注册我的事件,以便更容易传递变量。我们想在事件处理函数中使用一个参数来传递数据。
window.onload = function()
{
// do your normal stuff with creating elements
var anc = document.getElementById('ID of your a element here');
if(anc.attachEvent)
{
//code for ancient IE
anc.attachEvent('onclick', function(){change(x);});
}
else if(anc.addEventListener)
{
//code for modern browsers
anc.addEventListener('click', function(){change(x);});
}
}
function change(elem)
{
elem.innerHTML='other text';
}
请注意,旧版本的IE无法识别addEventListener并使用attachEvent,如上面的if块所示。这是addEventListener的documentation。