【问题标题】:Setting display to none remove the svg element from DOM将 display 设置为 none 从 DOM 中删除 svg 元素
【发布时间】:2015-10-07 12:44:37
【问题描述】:

使用 jquery 或 javascript 将显示设置为无会从 DOM 中删除 svg 元素。这很奇怪。

我正在尝试使用 jquery 显示一个带有确定和取消按钮的弹出对话框,但在单击任何按钮后,它会从 DOM 中删除整个 svg 元素

代码:

<div id="dialog" class="bs-example web_dialog">
    <form>
        <div class="form-group">
            <div class="col-lg-4" style="left: 173px; top: 258px; visibility: visible; position: absolute; overflow: visible; border: 1px solid #C5C5C5">
                <label for="inputEmail">Unique Id/Mobile Number:</label>
                <input type="number" class="form-control" id="inputEmail" placeholder="Unique Id" width="10px">
                <label for="inputPassword">Document URL</label>
                <input type="url" class="form-control" id="inputPassword" placeholder="URL">
                <br>
                <div class="btn-sm">
                    <button type="submit" id="btn_save" class="btn btn-primary btn-sm">Ok</button>
                    <button type="submit" id="btn_cancel" class="btn btn-primary btn-sm"  onclick="closePopUp(event)">Cancel</button>
                </div>
            </div>
        </div>
    </form>
</div>

<button type="submit" id="btn_cancel" class="btn btn-primary btn-sm"  onclick="closePopUp()">Cancel</button>

function closePopUp()
{
    document.getElementById('dialog').style.display = 'none';
}

执行上述操作就是从 DOM 中移除 svg 元素

【问题讨论】:

  • 你能发布有问题的元素吗?
  • 看不到 HTML,尤其是 id=dialog 的 whole 元素,这是无法回答的
  • 将其包装在一个 Div 中。
  • @Java_User 更新了问题
  • 那里根本没有 SVG

标签: javascript jquery svg jointjs


【解决方案1】:

在表单中按下提交按钮是个问题。即使表单元素没有任何常见的表单属性,按下提交按钮也会重新加载页面

选项 1:除非您提交数据,否则不要使用

选项 2:在提交按钮 onclick 中返回 false

每次都选择选项 1:p

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    相关资源
    最近更新 更多