为什么页面上<div>的样式没有更新?

问题描述 投票:0回答:1

我正在 Django 中制作一个项目。遇到了问题。我有带有动态 ID 的 div 容器。我从数据库加载 ID 并自动将其上传到 HTML。 以下是容器 div 的动态 ID 示例:

    <div id="replyLikesDiv">
                <img id="replyReviewsImg" src="{% static 'images/icons8-reply-arrow-50.png' %}">
                <div id="replyReviewsDiv">Ответить</div>

                <img class='likesReviewsImg' id="likesReviewsImg{{ REVIEWS_IDS }}" onclick="likesReviewsImgClick(this)" src="{% static 'images/icons8-facebook-like-50.png' %}">

                <div  class='likesReviewsDiv' id="likesReviewsDiv{{ REVIEWS_IDS }}" onclick="likesReviewsDivClick(this)">...</div></div>

<div class="likeAuthorizationDiv" id='likeAuthorizationDiv{{ REVIEWS_IDS }}'>

                <div id="likeAuthorizationMessage">Пожалуйста, авторизуйтесь, чтобы продолжить.</div>  
 
        <div  id="sendReviewBtnDiv2">
            <div id="sendReviewBtn2"">Закрыть</div>

            </div>
            </div>

REVIEWS_IDS 会自动从数据库加载并使用 Jinja 模板引擎插入。 REVIEWS_IDS 是一个整数值 1,2,3,4...并且不重复,因此所有 id 都是唯一的。

根据设计,当您点击 id="likesReviewsDiv{{ REVIEWS_IDS }}" 时,会调用 likesReviewsDivClick() 函数。看起来像这样:

function likesReviewsDivClick(el){
    var id = el.id;
    id = Number(id.replace(/[^0-9]/g, ''));
    id = 'likeAuthorizationDiv' + id;
    var element = document.getElementById(id);
    element.style.visibility = 'hidden';

    alert(element.style.visibility);
}

在函数中,我读取 ID 并将其替换为 likeAuthorizationDiv。然后我在函数中获取我需要的元素,并尝试将其样式更改为隐藏。样式在警报中发生变化,但在页面上不变。可能出什么问题了?

我尝试过很多方式改变风格,但一直不知道如何去做。据我了解,问题出在 DOM 上。

javascript html django
1个回答
0
投票

让我们看看, 确保您的服务器正常运行,因为这也可能是服务器问题。尝试使用 VS Code 或 Scrimba 等应用程序,或者它们在代码旁边提供一个输出窗口,以便您可以监视每个步骤的更改。另一个问题可能是不同文件中元素的正确链接。确保正确链接页面。或者最好的是尝试重新编写代码或尝试使用人工智能机器人为您编写代码,您可以研究它们的模式。 希望能帮助到你.... 谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.