将display设置为none会从DOM中删除svg元素

时间:2015-10-07 12:44:38

标签: javascript jquery svg jointjs

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

我正在尝试使用jquery显示一个带有ok和取消按钮的弹出对话框,但是在点击任何按钮后从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元素

1 个答案:

答案 0 :(得分:1)

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

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

选项2:在提交按钮中单击

返回false

每次都使用选项1:p