how do i use an id as a variable using jQuery
本问题已经有最佳答案,请猛点这里访问。
我不确定我是否能很好地描述这件事…但是:
我有一个DIV,我想在jquery函数中使用DIV的ID作为变量。
有一个与ID值同名的变量,它已声明为数字。现在我得到了楠。
我只需要变量whatisit作为aqstn降落在函数中-jfiddle有一个ID为的警报。但它不能转化为代码中的数字。如果你知道我的意思。!?
为了更好的解释,这里有一个JS的问题!http://jsfidle.net/cpfqk/
jquery:查询:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $('.add').click(function() { whatIsIt = $(this).attr('id'); alert (whatIsIt); base = (base+whatIsIt); // base = (base+aqstn); --> This works OK // Some maths to get +- 15% fifteen = (base*.15) price1 = (base+fifteen) price2 = (base-fifteen) $(".price span.more").html(price1); $(".price span.less").html(price2); }); |
如果要将ID用作变量,则可以改用对象
1 | var data = {aqstn : 236}; |
然后从数据对象中获取值
1 | whatIsIt = data[$(this).attr('id')]; // or data[this.id] |
号
小提琴
因为将这个ID字符串转换为变量似乎不太整洁,一旦我添加了所有的价格,这是另一种方法。它使价格远离HTML。
检查id==变量名(字符串)-是否定义了计算中使用的新变量。这意味着每个价格都要定义一个,但是……:
1 2 3 4 | if(whatIsIt=='ovrhead'){ var jammin = ovrhead }; if(whatIsIt=='aqstn'){ var jammin = aqstn }; base = (base+(jammin)); |
您必须将变量"aqstn"放入诸如window(或any)之类的对象中:
1 | window["aqstn"] = 236; |
然后将ID用作此对象的键
1 2 | whatIsIt = $(this).attr('id'); alert( window[whatIsIt] ); |
。
我不知道您的目的是什么,但可能有一种更聪明的方法可以做到这一点:)您看过jquery.data()方法吗?
如果从
不过,我不建议你这么做,我只是提供了最后的手段。威利的回答更正确。
http://jsfidle.net/cpfqk/1/
不能以这种方式在HTML和JavaScript之间共享变量。相反,您需要使用
http://jsfiddle.net/qwfck/1/