我在将一个变量传递给原型中的选择器时遇到了一些困难。我希望能够将一个变量传递给select字符串,这样一个函数就可以用于许多同类函数。

目前,这是我基本上想做的事情:

function myFunct(var)
{
  $(var + 'add_form').hide()  //so inde the brackets would be ('#product1 #add_form') for example.
}

能够将'var'传递给将它传递给选择器的函数,这样我就可以隐藏页面上许多模式相同的模式。

非常感谢任何关于路径的想法。

有帮助吗?

解决方案

你走在正确的轨道上!情侣:

  1. var 是一个JavaScript关键字( source ) ,不要用它来命名变量
  2. 如果您通过id查询元素(例如 #add_form ),则无需在执行时添加任何容器元素
  3. 如果您通过 class 查询元素,则需要使用 $$ 函数,而不是 $ 函数
  4. 您需要遍历已包装的集合以调用您的方法
  5. 空格在css选择器中很重要,因此请确保在选择器构造中包含这些内容,以告诉Prototype在的父容器中搜索

    function myFunct(parent) {
      $(parent + ' .add_form').invoke('hide')
    }
    
    myFunct('#someparent'); // hides .add_form inside #someparent
    

其他提示

这应该有用......只需将 var 重命名为其他内容。

function myFunct(yourVar)
{

  $('#' + yourVar + ' .add_form').each(function(s){ s.hide(); });  // yourVar being the id of the container element

}

我放了'。'在add_form之前,因为你不能使用具有相同ID的多个元素,所以将它作为一个类。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top