我有一个滚动插件,初始化后存储在特定的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];
上述代码无效
变量BID包含元素的ID。
如果我在控制台中输入elementID.scrollData.scrollPosition[0][0]
,它会完全返回滚动量。其中elementID是水平容器的特定ID。
谁能告诉我出什么事了?
溶液1:window[bid].scrollData.scrollPosition[0][0]
溶液2:eval(bid).scrollData.scrollPosition[0][0]
注意:切勿使用eval()
。eval()
速度慢且存在安全风险
3条答案
按热度按时间dffbzjpn1#
由于
bid
只是包含element-id的字符串,但您需要一个包含实际dom-element的jQuery对象,因此代码应为:$('#'+bid)
根据bid中存储的ID获取元素。在这个插件的情况下,元素存储在一个全局变量(顺便说一句,这是非常糟糕的编程风格),所以你可以使用以下命令来访问它们:
o7jaxewo2#
我认为您应该存储位置而不是ID
jecbmhm33#
请执行以下操作: