为什么不起作用?要获得这种效果,什么是可行的解决方案?

$(document).ready(function() {

  $('#myLink1').click(
    function() {
      $('#myLink1').replaceWith('<a id="myLink2" href="#panel2">#panel2</a>');
    });

  $('#myLink2').click(
    function() {
      $('#myLink2').replaceWith('<a id="myLink3" href="#panel3">#panel3</a>');
    });

});


我是循环以及如何添加字符串和变量的新手。

$(document).ready(function() {
  var panelNum = 8;
  for (i=1;i<=panelNum;i++){
    $('#myLink'+i).click(function() {
      $('#myLink'+i).replaceWith('<a id="myLink'+(i+1)+'" href="#panel'+(i+1)+'">#panel'+(i+1)+'</a>');
    });
  };
});

最佳答案

问题是在单击myLink2之前,不存在mylink。创建后,必须添加mylink2处理程序。请尝试以下操作:

function add_replace_with(i){
 $('#myLink'+i).click(
    function() {
     do_replace_with(i)
          return false;
    });
}
     function do_replace_with(i){
       $('#myLink'+i).replaceWith('<a id="myLink'+(i+1)+'" href="#panel'+(i+1)+'">#panel'+(i+1)+'</a>');

     $('#myLink'+(i+1)).click(
      function() {
        do_replace_with(i+1)
      });
     }

$(document).ready(function() {
 add_replace_with(1);
});


我应该指出,您最好对链接进行硬编码,而仅使用.show()进行切换即可。

10-05 20:14