如何将多个变量从funtion传递给jquery attr

这个问题与如何将多个变量从函数传递给函数有关

所以在上面的链接中你可能已经看到了如何将一个变量(或多个)从函数传递给函数,但是如果你想将它从常规的js函数传递给jquery .attr()值呢?

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

 $(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 }) }); 
   

但是你可以看到应该大声调出attr jquery函数来捕获来自definingVars()值的行显然被注释,因为这不是正确的语法。

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

这是我的问题

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

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

 $(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()) }); 

如果你想坚持使用definingVars()的当前结构,那么只要你想要直接调用该函数:

 $("input").attr({ value: definingVars()[0], id: definingVars()[1], class: definingVars()[2] }) 

DEMO