是否可以使用jQuery搜索json结果

时间:2010-05-07 05:17:53

标签: jquery json jquery-selectors

我想要实现的是输出一个包含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作为属性添加到链接中?

2 个答案:

答案 0 :(得分:2)

你可以在$ .each方法中为回调函数添加一个Index和一个Item参数。

$.each(script, function(i, item) { 
   $("." + item.CSSClass, "#pageConainer").live("click", function() {
       videoPlayer.playMovie(item.VideoUrl);
       return false;
   });
});
  • “i”将成为json对象中每次迭代的计数器
  • “item”将代表正在使用的对象

答案 1 :(得分:1)

当然,你只需要捕获你的对象,这样点击函数的闭包就可以在它触发时访问正确的东西。这样的事情应该有效:

$.each(script, function() {
    var vid = this;
    $("." + vid.CSSClass, "#pageContainer").live('click', function(e) {
        videoPlayer.playMovie(vid.VideoUrl);
        return false;
    });
});