![](/img/trans.png)
[英]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.