使用jquery.html()或.replace()放置时,单击“不起作用”

使用jquery.html()或.replace()放置时,单击“不起作用”,jquery,Jquery,嗨,如果我点击另一个链接,我会尝试替换一个链接。但是当我添加带有jqueryreplace()或html()的链接时,我无法点击工作。我做错了什么 这是我尝试使用的代码 $(document).ready(function() { var countTotal = $('#myTable tr').length; $("#hideTotalCount").val(countTotal); $('#clickMeAll').click(functi

嗨,如果我点击另一个链接,我会尝试替换一个链接。但是当我添加带有jquery
replace()
html()的链接时,我无法点击工作。我做错了什么

这是我尝试使用的代码

$(document).ready(function() {
        var countTotal = $('#myTable tr').length;
        $("#hideTotalCount").val(countTotal);

        $('#clickMeAll').click(function() {
            var totalCount = $("#hideTotalCount").val() - 1;
            $('#myTable').paginateTable({ rowsPerPage: totalCount, pager: '.pageNumbersOnly', maxPageNumbers: 4 });
            $('#placeLink').replaceWith("<a href='#' id='clickMeRegular'>Back to regular</a>");
        });

        $('#clickMeRegular').click(function() {
            var totalCount = $("#original").val();
            $('#myTable').paginateTable({ rowsPerPage: totalCount, pager: '.pageNumbersOnly', maxPageNumbers: 4 });
            $('#placeLink').replaceWith("<a href='#' id='clickMeAll'>ViewAll</a>");
        });

        $('#myTable').paginateTable({ rowsPerPage: 5, pager: '.pageNumbersOnly', maxPageNumbers: 4 });
        $('#placeLink').html("<a href='#' id='clickMeAll'>ViewAll</a>");
    });
$(文档).ready(函数(){
var countTotal=$('#myTable tr')。长度;
$(“#hideTotalCount”).val(countTotal);
$('#clickMeAll')。单击(函数(){
var totalCount=$(“#hideTotalCount”).val()-1;
$('#myTable').paginateTable({rowsPerPage:totalCount,pager:'.PageNumberOnly',maxPageNumbers:4});
$(“#placeLink”)。替换为(“”);
});
$('#clickMeRegular')。单击(函数(){
var totalCount=$(“#原始”).val();
$('#myTable').paginateTable({rowsPerPage:totalCount,pager:'.PageNumberOnly',maxPageNumbers:4});
$(“#placeLink”)。替换为(“”);
});
$('#myTable').paginateTable({rowsPerPage:5,pager:'.PageNumberOnly',maxPageNumbers:4});
$('#placeLink').html(“”);
});
#placeLink
只是一个普通的


也许有人知道什么能把我推向正确的方向?谢谢。

考虑使用。

替换DOM节点没有附加单击事件的问题。调用$(“#clickMeAll”).click(…)时,jQuery将搜索当前存在的id为clickMeAll的元素,并为其分配一个事件

如果稍后用其他html代码替换它,事件不会自动重新分配给新的DOM节点

两种解决方案:

  • 使用jQuery实时事件
  • 不要替换,只需隐藏/显示#单击全部和#单击规则。它们都一直存在,但只有一个是可见的。(更好的解决方案)
$(文档).ready(函数(){
var countTotal=$('#myTable tr')。长度;
$(“#hideTotalCount”).val(countTotal);
$('body')。委托('clickMeAll','click',function(){
var totalCount=$(“#hideTotalCount”).val()-1;
$('#myTable').paginateTable({rowsPerPage:totalCount,pager:'.PageNumberOnly',maxPageNumbers:4});
$(“#placeLink”)。替换为(“”);
});
$('body')。委托('clickMeRegular','click',function(){
var totalCount=$(“#原始”).val();
$('#myTable').paginateTable({rowsPerPage:totalCount,pager:'.PageNumberOnly',maxPageNumbers:4});
$(“#placeLink”)。替换为(“”);
});
$('#myTable').paginateTable({rowsPerPage:5,pager:'.PageNumberOnly',maxPageNumbers:4});
$('#placeLink').html(“”);
});

将正确工作我希望它与live一起工作,谢谢+1。steffen得到它是因为隐藏和显示。
$(document).ready(function() {
        var countTotal = $('#myTable tr').length;
        $("#hideTotalCount").val(countTotal);

        $('body').delegate('#clickMeAll', 'click' ,function() {
            var totalCount = $("#hideTotalCount").val() - 1;
            $('#myTable').paginateTable({ rowsPerPage: totalCount, pager: '.pageNumbersOnly', maxPageNumbers: 4 });
            $('#placeLink').replaceWith("<a href='#' id='clickMeRegular'>Back to regular</a>");
        });

        $('body').delegate('#clickMeRegular', 'click' ,function() {

            var totalCount = $("#original").val();
            $('#myTable').paginateTable({ rowsPerPage: totalCount, pager: '.pageNumbersOnly', maxPageNumbers: 4 });
            $('#placeLink').replaceWith("<a href='#' id='clickMeAll'>ViewAll</a>");
        });

        $('#myTable').paginateTable({ rowsPerPage: 5, pager: '.pageNumbersOnly', maxPageNumbers: 4 });
        $('#placeLink').html("<a href='#' id='clickMeAll'>ViewAll</a>");
    });