在另一个函数中调用一个参数?
问题描述:
其实我想把url和id从一个fn到另一个这个方法是否可行。在另一个函数中调用一个参数?
function addElement(url, id) {
alert(url);
var main = document.getElementById('mainwidget');
main.innerHTML = "<iframe src=" + url + " align='left' height='1060px' width='576px' scrolling='no' frameborder='0' id='lodex'></iframe>";
alert("google");
addUrl(url, id);
}
function add() {
addUrl(url, id)
alert("id" + id);
document.getElementById("Listsample").innerHTML = "<a href='#' onclick='addUrl(" + url + ");' id='cricket' tabindex='1' name='cricket'>" + id + "</a>";
}
答
你需要以某种方式共享信息,因为variables
仅可在其功能的scope
。最简单的方法是定义全局变量。
var url, id; // global
function addElement(_url, _id) {
url = _url;
id = _id;
alert(url);
var main = document.getElementById('mainwidget');
main.innerHTML = "<iframe>...</iframe>";
alert("google");
addUrl(url, id);
},
function add() {
addUrl(url, id)
alert("id" + id);
document.getElementById("Listsample").innerHTML = "<a>...</a>";
}
请注意,它们不需要是全局的。你可以用这个模块到自己的scope
(function() {
/// code goes here
})();
或者你也可以组织整个代码到一个对象(encapsulation
)。
var addy = {
url: null,
id: null,
addElement: function(url, id) {
this.url = url;
this.id = id;
alert(url);
var main = document.getElementById('mainwidget');
main.innerHTML = "<iframe>...</iframe>";
alert("google");
addUrl(url, id);
},
add: function() {
addUrl(this.url, this.id);
alert("id" + this.id);
document.getElementById("Listsample").innerHTML = "<a>...</a>";
}
};
没有怎么写,它这是不行的。 – 2010-07-12 05:15:43
问题是什么? – 2010-07-12 05:15:45
你能清理这段代码,只包含与你的问题相关的部分吗?否则很难猜测你的问题是什么。另外,你在哪里添加? – nas 2010-07-12 06:52:16