首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环时多个未定义变量的问题

循环时多个未定义变量的问题
EN

Stack Overflow用户
提问于 2020-07-29 08:20:53
回答 1查看 16关注 0票数 0

我在遍历我的数组时遇到了这个问题,在我的网站上我得到了这些随机的未定义。Picture of website

这是我的数组:

代码语言:javascript
复制
var quotes = [
{verses: "First quote", chapter: "Psalm 139:7-10", data: "Never be Lost", id: "like1"},
{verses: "Second quote", chapter: "Matthew 27:32-44", data: "The Crucifixion of Jesus", id: "like2"}]

下面是我的循环和find方法:

代码语言:javascript
复制
$('#like1').on('click', function () {
    $("div").find('.quote').each(function () {
        likedVerses[likedVerses.length]={'verses':$(this).html()}
    });
    $("div").find('.name').each(function () {
        likedVerses[likedVerses.length]={'name':$(this).html()}
    });
    $("div").find('.meaning').each(function () {
        likedVerses[likedVerses.length]={'meaning':$(this).html()}
    });
    $('.likedVersesHtml').html("");
    for (var j = 0; j < likedVerses.length; j++){
        $('.likedVersesHtml').append('<div>' + likedVerses[j].verses + '</div>' + '<div>' + likedVerses[j].name + '</div>' + '<div>' + likedVerses[j].meaning + '</div>');
    }
    console.log(likedVerses);
});

另外,有没有一种方法可以将所有对象放在一个数组中,而不是将每个对象放在单独的数组中?如果能帮上忙我会很感激的。

EN

回答 1

Stack Overflow用户

发布于 2020-07-29 09:19:45

各位,我解决了这个问题,我只需要把我所有的对象放到同一个数组中,现在这个问题就解决了。

代码语言:javascript
复制
   var versesFind = $(".quote");
    var nameFind = $(".name");
    var meaningFind = $(".meaning")
    $("div").find(versesFind, nameFind, meaningFind).each(function () {
        likedVerses[likedVerses.length]={'verses':$(versesFind).html(), 'name':$(nameFind).html(), 'meaning':$(meaningFind).html()}
    });

这是我的HTML:

代码语言:javascript
复制
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Verse Generator</title>
    <link href="style.css" type="text/css" rel="stylesheet" media="screen">
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
</head>
<body>
<form id="all">
    <label for="likedVersesPopup"><input type="button" id="likedVersesPopup">Liked</label>
<!--    <label for="searchLib"><input type="text" placeholder="Search" id="searchLib"></label>-->
    <div id="elements">
        <div class="quote"></div>
        <div class="name"></div>
        <div class="meaning"></div>
        <input type="checkbox" name="stopTheCycle" id="stopCycle"><label for="stopCycle" id="cycleImg"><img src="pause.svg" alt="Pause. " id="pauseAndPlay" width="16"></label>
        <div id="textSize">
            <input type="radio" name="fontSize" id="smallFont" checked="checked"><label for="smallFont" id="smallFontFont">A</label>
            <input type="radio" name="fontSize" id="medFont"><label for="medFont" id="medFontFont">A</label>
            <input type="radio" name="fontSize" id="largeFont"><label for="largeFont" id="largeFontFont">A</label>
        </div>
        <input type="button" name="like" id="like1"><label for="like1"><img src="not_liked.svg" alt="Wanna Like It? " width="16"></label>
    </div>
    <div class="likedVersesHtml">No Liked Verses</div>
</form>
<script src="http://code.jquery.com/jquery-3.5.0.js"></script>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="script02.js"></script>
</body>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63144576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档