Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可以用jQuery搜索json结果吗_Javascript_Jquery_Json_Jquery Selectors - Fatal编程技术网

Javascript 可以用jQuery搜索json结果吗

Javascript 可以用jQuery搜索json结果吗,javascript,jquery,json,jquery-selectors,Javascript,Jquery,Json,Jquery Selectors,我试图实现的是输出一个json列表,其中包含Css类的列表,以及它们相应的url记录,即 var jsonList = [{ "CSSClass": "testclass1", "VideoUrl": "/Movies/movie.flv" }, { "CSSClass": "testclass2", "VideoUrl": "/Movies/movie2.flx" }]; //]]> 对于列表中的每个项目,我正在向类添加单击事件 $.each(script, funct

我试图实现的是输出一个json列表,其中包含Css类的列表,以及它们相应的url记录,即

var jsonList = [{
  "CSSClass": "testclass1",
  "VideoUrl": "/Movies/movie.flv"
}, {
  "CSSClass": "testclass2",
  "VideoUrl": "/Movies/movie2.flx"
}]; //]]>
对于列表中的每个项目,我正在向类添加单击事件

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

我想知道的是,我是否可以从jsonlist中获得相应的url,而不必再次遍历它们,搜索CSSClass,或将url作为属性添加到链接中?

当然,您只需要捕获对象的url,以便单击函数的闭包在触发时能够访问正确的对象。像这样的方法应该会奏效:

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

您可以在$.each方法中向回调函数添加索引和项参数

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

正准备回答同样的问题+1.