javascript - Jquery .replaceWith 无法正常工作

标签 javascript jquery ajax

我有一个 jquery 代码,它阻止链接转到该链接但执行它。我遇到的问题是,在执行脚本并且脚本返回数据后,我想将其替换为具有相同类的新脚本。替换是在 dom 内部进行的,但是下次我按下该链接时,不会阻止转到该链接,但类是相同的,这是我的代码:

<script>
$(".recomanda").click(function(e){
    e.preventDefault();
    var test=$(this);

    var href = $(this).attr('href');


    $.getJSON(href, function(data) {

        if(data.recom==1)
        {
        $(test).replaceWith('<a class="recomanda" href="app/recomanda_produs.php?id=' + data.id + '&recom=' + data.recom + '">Recomandat</a> ');

        }
        if(data.recom==0)
        {
        $(test).replaceWith('<a class="recomanda" href="app/recomanda_produs.php?id=' + data.id + '&recom=' + data.recom + '">Recomanda</a> ');

        }

    });
});
</script>

html

<a class="recomanda" href="app/recomanda_produs.php?id='.$row['ID_Produs'].'&recom=0">Recomanda</a>

最佳答案

是的,我以前也遇到过这个问题,这是因为当你在ready()上附加click到recomanda时,但是当ajax加载时,ready()中的所有内容都不会再次触发,这就是为什么你需要附加事件到非动态元素,并让它找到它的子选择器。

$('body').on('click', '.recomanda', function() {}); 

关于javascript - Jquery .replaceWith 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31207959/

相关文章:

javascript - Rails View 中的 Json 对象

javascript - 使用 reangular 计算冗余

javascript - 如何将函数分配给 JavaScript 变量

javascript - Material ui 自动完成 : can tags be created on events aside from 'Enter' events?

javascript - Bootstrap 日期选择器未加载

ajax - S3 : No 'Access-Control-Allow-Origin' for AJAX POST

javascript - Skrollr:如何只在达到某个点后才开始动画?

javascript - jQuery 根本不工作

javascript - 如何将数据表的水平滚动条放在表格的顶部?

javascript - 将变量传递给 AJAX