Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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 使用JSON和下划线.js链接到内容_Javascript_Jquery_Html_Json_Underscore.js - Fatal编程技术网

Javascript 使用JSON和下划线.js链接到内容

Javascript 使用JSON和下划线.js链接到内容,javascript,jquery,html,json,underscore.js,Javascript,Jquery,Html,Json,Underscore.js,我有一个名为JSON的文件,其中有许多关于书籍的不同属性(author、desc、title等)。我使用JSON将内容加载到一个div中,只显示标题。我的问题是,我试图使每个标题成为一个链接,并在同一页上的一个单独的div中显示该特定书籍的其余内容。以下是我到目前为止的情况。每当我尝试在单击函数之后引用任何内容时,我的响应都是“未定义” $.getJSON(“data/data.json”),函数(data){ var res=uu.sortBy(data.books,函数(item){retu

我有一个名为JSON的文件,其中有许多关于书籍的不同属性(author、desc、title等)。我使用JSON将内容加载到一个div中,只显示标题。我的问题是,我试图使每个标题成为一个链接,并在同一页上的一个单独的div中显示该特定书籍的其余内容。以下是我到目前为止的情况。每当我尝试在单击函数之后引用任何内容时,我的响应都是“未定义”

$.getJSON(“data/data.json”),函数(data){
var res=uu.sortBy(data.books,函数(item){return item.name});
_.每项职能(项目){
$(“#books”).append(“

”+item.name+”

”); }); $(“.book”)。单击(函数(){ var clickedItem=$(此值); $(“#详细信息”)。附加(“”+clickedItem.author+”

”;
您可以将每本书的详细信息存储在节点的
数据中。这样您就可以随时访问它

$.getJSON("data/data.json", function(data){
    var res = _.sortBy(data.books, function(item) { return item.name });
    _.each(res, function(item){ 
        var book = $("<p class='book'>"+item.name+"</p>").data('details', item);
        $("#books").append(book);
    });

    $("#books").on('click', '.book', function() {
        var clickedItem = $(this),
            details = clickedItem.data('details');

        $("#details").html("<p>"+details.author+"</p>");
    });
});
$.getJSON(“data/data.json”),函数(data){
var res=uu.sortBy(data.books,函数(item){return item.name});
_.每项职能(项目){
var book=$(“

”+item.name+“

”).data('details',item); $(“#书”)。追加(书); }); $(“#books”)。在('click','.book',函数()上{ var clickedItem=$(此), 详细信息=单击编辑项数据(“详细信息”); $(“#details”).html(“”+details.author+”

”); }); });
您需要向我们展示您在
单击
处理程序中尝试的内容。
单击
事件绑定是否发生在
$回调之外?getJSON
回调?@Mathletics它发生在回调内部。这是您的问题,
clickedItem
是一个jquery对象。它与<循环中的代码>项
。您需要以其他方式存储该数据。感谢您的帮助。控制台中的var书籍“Uncaught SyntaxError:意外标识符”中的行出现错误@user2980869这很奇怪。你的代码是否在某个我们可以看到它运行的地方?不,我不知道放在哪里,因为JSON文件。有什么建议吗?你可以尝试使用JFIDLE创建文件,你的代码正在运行。非常感谢!我也会记住这个网站。
$.getJSON("data/data.json", function(data){
    var res = _.sortBy(data.books, function(item) { return item.name });
    _.each(res, function(item){ 
        var book = $("<p class='book'>"+item.name+"</p>").data('details', item);
        $("#books").append(book);
    });

    $("#books").on('click', '.book', function() {
        var clickedItem = $(this),
            details = clickedItem.data('details');

        $("#details").html("<p>"+details.author+"</p>");
    });
});