javascript - jQuery 不影响 AJAX 加载的内容

标签 javascript jquery html ajax

我有一个 div 元素,单击该元素时将在其父元素上切换一个类。

$('.q-header').on('click', function() {
    $(this).parent('.question-wrap').toggleClass('miniturised');
});
// the 'miniturised' class hides child elements.
// therefore when q-header is clicked the child elements are toggled

我的网站上有一个按钮,单击时,它将通过 AJAX 将上述 div 元素之一加载到网站。

$('#addqs').on('click', function() {
    var response;
    $.ajax({ type: "GET",   
         url: "./qt-single-line.html",   
         async: false,
         success : function(text)
         {
             response = text;
         }
    });
    $('#final-row').before(response);
    return false;
});

通过 AJAX 加载的 div 不受第一个切换类“小型化”的函数的影响。为什么新的AJAX内容不受我的JS影响?

编辑:HTML 元素看起来像这样

<div class="question-wrap miniturised">
    <div class="q-header">
        <span></span>
    </div>
    <div class="q-body">
    </div>
</div>

在普通 DOM 元素上,当我单击 q-header 时,会切换小型化。这不适用于动态元素,我知道这一点。我想知道如何解决这个问题,谢谢。

最佳答案

您新创建的元素尚未在 dom 中。

尝试:

$(document).on('click', '.q-header', function() { 
    $(this).parent('.question-wrap').toggleClass('miniturised');
 });

关于javascript - jQuery 不影响 AJAX 加载的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25856645/

相关文章:

javascript - Rails 7 Import Maps - 使用自定义脚本导入文件夹

javascript - 这个函数如何判断一个对象是否为空?

javascript - 匹配 css 类并使用 jquery 和 regex 删除

javascript - 正则表达式匹配 HTML 属性名称

javascript - Bootstrap Accordion - 切换所有嵌套元素

javascript - 如何测试 Sentry 是否报告错误?

javascript - 如何使用 JQuery 将 onclick 事件处理程序添加到 anchor 标记?

javascript - 带日期的周数计数器

html - float 如何影响背景颜色?

html - 具有特殊弧形侧面的 Div