【问题标题】:Use a function's argument as a selector in jQuery在 jQuery 中使用函数的参数作为选择器
【发布时间】:2012-10-05 14:07:14
【问题描述】:

在 jQuery 中,是否可以将参数的函数用作选择器。

我一直在尝试这样的事情,但无济于事......

function myFunction ( myArgument) {

    $('#'+myArgument).hide();

}

myFunction ( elementOne );

基本上,当我使用参数elementOne 触发函数时,我希望能够选择该元素(然后例如隐藏它)。

有没有办法做到这一点?

提前非常感谢!

【问题讨论】:

  • 如果您有一个 ID 值为 elementOne 的元素,这将起作用。如果elementOne 不是字符串,则说明您做错了。也许显示实际代码?
  • 这应该可以。您确定 myArgument 是一个字符串并且生成的 #myArgumentValue 存在于您的文档中吗?
  • 问题似乎在于elementOne 不是变量的值。如果我添加了var currentElement = 'elementOne',它就起作用了。我不知道这是必要的......

标签: javascript jquery function arguments


【解决方案1】:

简单类型测试 - 如果你将 jQuery 选择器作为字符串传递,它将隐藏它,否则它会将其视为 jQuery 对象。

现在添加了“确保它存在”的好处:)

if (typeof myArgument === 'string') // eg. myFunction('#something')
  myArgument = $(myArgument);
// else: assume $('#something')
myArgument.length && myArgument.hide();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    相关资源
    最近更新 更多