[英]JavaScript - Targeting an object value to create another variable
[英]Javascript: Substitute a variable value in another variable object
我有一个滚动插件,初始化后将滚动量存储在特定的id中。
我正在使用jQuery获取div的id并将其存储在可变的bid中。
var bid = $(this).parent().parent().find(".video_s").attr('id');
在控制台中,var bid返回元素ID。 (这正常工作)
由于滚动量存储在特定于DOM元素ID的对象中
var bpos = bid.scrollData.scrollPosition[0][0];
上面的代码不起作用
可变出价包含元素的ID。
如果我在控制台中键入elementID.scrollData.scrollPosition[0][0]
,它会完美返回滚动量。 其中elementID是水平容器的特定ID。
请任何人告诉我怎么了。
解决方案1: window[bid].scrollData.scrollPosition[0][0]
解决方案2: eval(bid).scrollData.scrollPosition[0][0]
注意:永远不要使用eval()。 eval()速度慢且存在安全风险
由于bid
是仅包含element-id的字符串,但是您需要一个包含实际dom-element的jQuery Object,因此代码应为:
var bpos = $('#'+bid).scrollData.scrollPosition[0][0];
$('#'+bid)
根据出价中存储的ID获取元素。
对于此插件,元素存储在全局变量中(顺便说一下,这是非常糟糕的编程风格),因此您可以使用以下内容访问它们:
window[bid].scrollData.scrollPosition[0][0];
我认为您应该存储位置而不是ID
var bid = $(this).parent().parent().find(".video_s").attr('id');
var bpos = $('#'+bid).scrollData.scrollPosition[0][0]
做这个:
$('#'+bid).scrollData.scrollposition[0][0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.