javascript - Jquery删除函数后续

标签 javascript jquery dom

我上周提交了这个问题:

chrome not working with jquery remove

并且能够解决它(我确实很愚蠢),但是我的例子非常简单。目前,我正在尝试使用 .remove 在将输入数组发送到 ajax 函数之前从页面中删除完整的 div。但是,我根本无法让 .remove 工作。

这是我最近的尝试: http://jsfiddle.net/CJ2r9/2/

我在多个浏览器上的 jsfiddle 上得到了未定义的函数。在我的应用程序中,我完全没有收到任何错误,但也没有任何效果。

我对 javascript 作用域比较陌生,所以如果问题是作用域方面的,那么请让我知道我是如何搞砸的。

我也尝试过使用 .on jquery 函数,但考虑到我的 div id 是从服务器(jSTL、spring MVC 等)动态加载的,这有点令人困惑。如果这是一个解决方案,请告诉我如何走上正确的道路。

谢谢!

最佳答案

jsFiddle 中的两个问题是:

  • 范围:removeElem 不在全局范围内,因为您保留了默认配置选项以在 DOM 上执行代码。您可以将其更改为“不换行”以使该函数成为全局函数。

  • 您要删除的元素不存在。 div 元素具有类似“removeXXXp”的 ID,并且在事件处理程序中传递“removeXXXs”。

<小时/>

这是另一个更简单的元素删除解决方案(在我看来)。鉴于您的标记:

<div class="scheduleSet" id="remove315p">
    <!-- ... -->
    <a href="javascript:void(0);" class="optionHide">Remove</a>
</div>

您可以像这样使用.on:

$('.schduleSet a.optionHide').on('click', function() {
    // traverses up the DOM tree and finds the enclosing .schduleSet element
    $(this).closest('.scheduleSet').remove();
});

您甚至根本不需要 ID。

关于javascript - Jquery删除函数后续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18085029/

相关文章:

Javascript 脚本不会在 HTML 中加载

javascript - 在 Javascript 中使用一次(而不是两次)分隔符拆分字符串

javascript - react 缺少键的对象映射数组导致 TypeError 崩溃

javascript - 对 Node.js readline on() 方法感到困惑

javascript - Sequelize 添加多对多关系,附加数据不起作用

javascript - 如何隐藏透明 div 下滚动的内容?

jQuery 延迟 CSS 更改

javascript - 如何通过 JS 更改 HTML 文档中字符串的所有实例而不影响其标记?

javascript - 在 mouseenter jquery 中使用延迟

javascript - 如何暂时暂停浏览器渲染然后恢复整个页面