如何将多个变量从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