将参数传递给函数。怎么了?

时间:2011-06-20 14:15:41

标签: javascript jquery

在此jsFiddle

我试图将一个参数传递给一个函数,但它没有收到参数,或者它没有被执行。

<a href="javascript:addRemove('7249');">Details</a>

JQuery的

$(document).ready(function() {

    function addRemove(u) {
    alert(u);
    }

});

任何想法有什么问题以及如何解决?

8 个答案:

答案 0 :(得分:6)

您的函数仅存在于ready事件处理程序的范围内,您需要在ready函数之外移动函数addRemove。

答案 1 :(得分:4)

http://jsfiddle.net/EcCTx/2/

您的代码被jsfiddle (左侧的下拉菜单)包含在onload事件中。因此,如果您添加一个函数,它将不是全局函数,但您的onclick事件将使用名称addRemove调用全局函数。

答案 2 :(得分:3)

您需要在$(document).ready()之外定义您的功能。

答案 3 :(得分:2)

addRemove函数必须在$(document).ready(function(){...});

之外

答案 4 :(得分:2)

我还没有测试过,但我的猜测是这样的:函数内部的东西无法从函数外部访问。例如,

$(document).ready(function() {
    function addRemove(u) {
        alert(u);
    }
});
console.log(addRemove); // reference error or something similar

您应该在addRemove之外定义$(document).ready函数

答案 5 :(得分:1)

你没有在小提琴中使用名为addRemove的定义函数。

我添加了此内容,并删除了内联的javascript调用。

请参阅此更好的方法:

http://jsfiddle.net/EcCTx/6/

答案 6 :(得分:1)

如果Davin没有回来,这就是答案:jsFiddle默认将JS包装在'onLoad'方法中 - 我们不能允许这样做。

http://jsfiddle.net/nqbWe/

答案 7 :(得分:0)

没有特别要求该功能。在文档就绪部分中,您已设置了功能,但锚点本身不会调用该功能。在这种情况下,只有在有人点击该链接时才会调用它。

你可以为链接提供一个类和数据属性,并使用jQuery来在页面加载时发生一些事情。