我正在使用ExpressionEngine并将我的频道条目转换为JSON,效果很好。使用jQuery和HTML5数据动态调用JSON数据*
我想要做的是使用存储在data-*
属性中的ID填充来自特定JSON对象的信息的Sweet Alert 2叠加层。
这里是JSON的一个例子:
var director_45 = {
"title": "Andy H",
"entry_id": 45,
}
而且,如果我做一个简单的jQuery警报这样,它返回我的名字:
alert(director_45.title)
但是,如果我这样做jQuery中:
$('.trigger-director').on('click', function() {
var director_id = $(this).data('director');
var director = 'director_' + director_id;
alert(director.title);
});
有了这个HTML火吧:
<div class="col-xs-6 col-md-3">
<div class="director-box">
<img src="/images/made/images/uploads/images/Andy_400_300_c1.jpg" class="img-responsive" width="400" height="300" alt="" />
<h3>Andy H</h3>
<p>Director</p>
<a class="trigger-director" data-director="45">Find out more</a>
</div>
</div>
单击“了解更多”链接时的警报仅显示“未定义”。
我创建了一个链接的jsfiddle也在这里 - https://jsfiddle.net/zu103vxc/
任何想法是什么,我做错了和/或丢失?
'变种导演=窗口[ 'director_' + DIRECTOR_ID];'全局变量是窗口对象的属性,并且可以访问他们使用数组符号 –
导演不是一个对象,导演是一个字符串'director_45',ohh @JuanMendes,那个会好用的 –
[JavaScript动态变量名称]的可能重复(http://stackoverflow.com/questions/22727711/JavaScript的动态可变名称) –