首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >面向元素替换的JS的最佳方法

面向元素替换的JS的最佳方法
EN

Stack Overflow用户
提问于 2021-05-20 03:46:16
回答 1查看 64关注 0票数 0

在不刷新页面的情况下重新初始化javascript的最佳方法是什么?我目前正在尝试添加一个MDBootstrap <select>标记,它不像添加子元素那么简单。相反,我将删除元素,并通过AJAX请求使用更新的数据重新构造它。

目前,我看到的唯一可能就是在元素被重新创建之后再次执行代码。

抱歉如果这还不够清楚的话。

我试图尝试的,但是它并不是很干净:

代码语言:javascript
运行
复制
$("#function-btn").click(function(){
    $.get("api/endpoint/getprofiles", function(){}).done(function(data){
        $(".select-wrapper.mdb-select.md-form").remove()
        $("#charcontainer").html(data);
        $('.mdb-select').materialSelect();
    })
    // Reinitialize other JQuery functions around the '.mdb-select' element (alot)
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-20 04:06:58

考虑下面的html

代码语言:javascript
运行
复制
<div id='wrapper'>
    <div id='container'>
        <span>Content</span>
    </div>
</div>

如果要删除和替换#container,则不希望将选择器挂在#container上,而是希望先将jQuery连接到父(#wrapper),然后向下钻。

因此,它会看起来像这样。

代码语言:javascript
运行
复制
$('#wrapper>#container').on('click',function(){
    //do the thing
});

这样,从技术上讲,您并不是要连接到从DOM中删除的元素,而是父元素(#wrapper),即使选择器有子元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67613691

复制
相关文章

相似问题

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