首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将多个变量从函数传递给jquery

如何将多个变量从函数传递给jquery
EN

Stack Overflow用户
提问于 2015-11-02 02:52:48
回答 2查看 1.1K关注 0票数 2

这个问题与How to pass multiple variables from function to function有关

因此,在上面的链接中,您可能已经看到了如何将变量(或多个)从一个函数传递到另一个函数,但是如果您希望将它从一个常规的js函数传递到jquery .attr() 值?

这听起来可能很奇怪,这就是为什么我要举一个例子。

代码语言:javascript
复制
$(function() {

  function definingVars() {
    var Value = "Sucess with the value";
    var Id = successWithTheId;
    var Class = sucessWithTheClass;
    return [Value, Id, Class];
  }

  $("input").attr({
    //  var df = definingVars();  Incorrect syntax!!!
    value: df.Value,
    id: df.Id,
    class: df.Class
  })

});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="noSucessWithTheId" class="noSucessWithTheClass" value="No sucess with the value">

但是,正如您可以看到的那样,应该大声地使用attr jquery函数来捕获来自definingVars()的值的行得到了明确的注释,因为这不是正确的语法。

但是你怎么还能传递这些变量呢?

这就是我的问题

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-02 02:58:36

您要做的是将多个属性传递给.attr(),为此我们使用了一个带有键/值对的对象。

因此,您可以做的是从definingVars返回一个对象,并将definingVars返回的值作为参数传递给attr(),如下所示

代码语言:javascript
复制
$(function() {

  function definingVars() {
    var Value = "Sucess with the value";
    var Id = successWithTheId;
    var Class = sucessWithTheClass;
    
    return {
      value: Value,
      id: Id,
      class: Class
    };
  }

  $("input").attr(definingVars())

});

票数 4
EN

Stack Overflow用户

发布于 2015-11-02 03:00:01

如果您想继续使用definingVars()的当前结构,那么如果需要,只需直接调用该函数:

代码语言:javascript
复制
$("input").attr({
 value: definingVars()[0],
 id: definingVars()[1],
 class: definingVars()[2]
})

DEMO

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33470008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档