我想要实现的是输出一个包含Css类列表的json列表,以及它们相应的url记录,即
var jsonList = [{"CSSClass":"testclass1","VideoUrl":"/Movies/movie.flv"},{"CSSClass":"testclass2","VideoUrl":"/Movies/movie2.flx"}]; //]]>
列表中的foreach项目我正在向班级添加点击事件...
$.each(script, function() {
$("." + this.CSSClass, "#pageContainer").live('click', function(e) {
videoPlayer.playMovie(this);
return false;
});
});
我想知道的是,如果我能以某种方式从jsonlist中获取相应的url,而不必再次遍历它们,搜索CSSClass,或者将url作为属性添加到链接中?
答案 0 :(得分:2)
你可以在$ .each方法中为回调函数添加一个Index和一个Item参数。
$.each(script, function(i, item) {
$("." + item.CSSClass, "#pageConainer").live("click", function() {
videoPlayer.playMovie(item.VideoUrl);
return false;
});
});
答案 1 :(得分:1)
当然,你只需要捕获你的对象,这样点击函数的闭包就可以在它触发时访问正确的东西。这样的事情应该有效:
$.each(script, function() {
var vid = this;
$("." + vid.CSSClass, "#pageContainer").live('click', function(e) {
videoPlayer.playMovie(vid.VideoUrl);
return false;
});
});