javascript - 如何从对象中获取标题并将其应用到我的视频中?

标签 javascript

enter image description here我正在用纯 Javascript 创建一个视频页面(我没有其他选择),我正在尝试将视频标题分配给适当的视频。我有类别、图像和 url 按我需要的方式工作,但停留在标题部分。我的代码哪里缺少?下面是对象和我的代码的示例。

var all_videos = {

    "cats": [
    {"cat": "Obstetrics and Pediatrics",
    "titles":[ "American Academy of Pediatrics 10 Year Tribute - Stronger
    Together",
    "Preterm Birth Facts - How are you training to prepare for premature
    births?",
    "Born Too Soon","Preparing for the Unexpected (SimMom/Maternal
    Promo)"],
    "codes":[ "PH1O54WuJ88","pp9vqoyQ9xU","JjZj8D7yx00"]},

    {"cat": "Nursing and Patient Care",
    "titles":[ "National Nurses Week and National Hospital Week 2017",
    "The July Effect",
    "Raising the Bar for Simulation in Nursing Education (Nursing Anne .
    [![enter image description here][1]][1]Simulator Teaser)",
    "Simulation for Nursing Education - A Better Way to Train (Nursing
    Anne Simulator Teaser)],
    "codes":[ "tTBXDqgJCXU","sRp6Ui5ibC8","7cMZ19aSTX8","wXLKyUMXGNI"]}
    ]
}

all_videos.cats.forEach(function(allcats) {

    var main = document.createElement("div");

    var catdiv = document.createElement("div");

    catdiv.textContent = allcats.cat;

    main.appendChild(catdiv);

    allcats.codes.forEach(function(code) {

        var viddiv = document.createElement("div");

        main.appendChild(viddiv);

        var titlebox = document.createElement("div");

        titlebox.textContent = allcats.titles;

        var images = document.createElement("img");
        images.setAttribute("src", "vids/"+code+".png");
        images.setAttribute("style", "width: 300px;");

        viddiv.appendChild(images);

        var link = document.createElement('a');
        link.setAttribute("href", "video.html?"+code+"&source=youtube");
        link.appendChild(images);

        viddiv.appendChild(link);
        viddiv.appendChild(titlebox);

        document.getElementById("showvids").appendChild(main);
    });
});

最佳答案

根据上面的评论,我假设您想要与 foreach 中的当前 code 相关的 title

在 foreach 中,您也可以添加 index 作为参数 ( https://www.w3schools.com/jsref/jsref_forEach.asp )

所以你可以像这样更新你的代码:

allcats.codes.forEach(function(code, index) { //Add Index
    var viddiv = document.createElement("div");

    main.appendChild(viddiv);

    var titlebox = document.createElement("div");

    titlebox.textContent = allcats.titles[index]; //Add index - Note: this does assume that titles is the same length or longer than codes
    var images = document.createElement("img");
    images.setAttribute("src", "vids/"+code+".png");
    images.setAttribute("style", "width: 300px;");

    viddiv.appendChild(images);

    var link = document.createElement('a');
    link.setAttribute("href", "video.html?"+code+"&source=youtube");
    link.appendChild(images);

    viddiv.appendChild(link);
    viddiv.appendChild(titlebox);

    document.getElementById("showvids").appendChild(main);
});

关于javascript - 如何从对象中获取标题并将其应用到我的视频中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49823622/

相关文章:

javascript - 配置 setinterval 函数以获得无限重复

javascript - 数据表数据未写入 xlsx 文件

javascript - 在使用 useEffect 钩子(Hook)的 react 功能组件中,元素未通过 .map() 显示

Javascript 写入 AWS DynamoDB

javascript - 3,000,000,000 次迭代循环行为异常

javascript - 如何通过javascript将待办事项列表数据保存到本地存储

javascript - 构造并将 JavaScript 字符串列表传递给 ASP.NET MVC Controller 操作(不使用 ajax)

javascript - 样式选择框下拉菜单像表格

javascript - 使用没有索引的javascript解析数组中的JSON数组

Javascript 页面重新加载或元标记刷新方法?