我在将一个变量传递给原型中的选择器时遇到了一些困难。我希望能够将一个变量传递给select字符串,这样一个函数就可以用于许多同类函数。
目前,这是我基本上想做的事情:
function myFunct(var)
{
$(var + 'add_form').hide() //so inde the brackets would be ('#product1 #add_form') for example.
}
能够将'var'传递给将它传递给选择器的函数,这样我就可以隐藏页面上许多模式相同的模式。
非常感谢任何关于路径的想法。
答案 0 :(得分:1)
你走在正确的轨道上!情侣:
var
是一个JavaScript关键字(source),不要用它来命名变量#add_form
),则不需要在执行时添加任何容器元素class
查询元素,则需要使用$$
函数,而不是$
函数空格在css选择器中很重要,因此请确保在选择器构造中包含这些内容,以告诉Prototype在的父容器中搜索:
function myFunct(parent) {
$$(parent + ' .add_form').invoke('hide')
}
myFunct('#someparent'); // hides .add_form inside #someparent
答案 1 :(得分:0)
这应该有用......只需将var
重命名为其他内容。
答案 2 :(得分:0)
function myFunct(yourVar)
{
$$('#' + yourVar + ' .add_form').each(function(s){ s.hide(); }); // yourVar being the id of the container element
}
我放了'。'在add_form之前,因为你不能使用具有相同ID的多个元素,所以将它作为一个类。