2016-05-03 85 views
2

我想弄清楚如何在不刷新浏览器的情况下同时点击我的按钮。我注意到,如果我点击其中一个按钮的工作,并使用.replaceWith替换它的新值,但是当我点击另一个按钮时,它不会给我另一个值。使用replaceWith同时单击按钮而不刷新浏览器

代码:

<body> 
<input type = "button" id = "bt1" value = "See my Full Name :)"> 
<input type = "button" id = "bt2" value = "See my Nickname :)"> 

<div> 
    <div class = "name">See my name</div> 
</div> 

<script> 

    $(document).ready(function() 
    { 
     $("#bt1").click 
     (
      function() 
      { 
       $("div.name").replaceWith("<div>John Francis</div>"); 
       alert("Your full name is John Francis"); 
      } 
     ); 

     $("#bt2").click 
     (
      function() 
      { 
       $("div.name").replaceWith("<div>Francis</div>"); 
       alert("Your nickname is Francis"); 
      } 
     ); 
    }); 

</script> 

回答

2

你不加入的类名.name给您更换新插入的DIV,所以,下一次你点击,有带班没有元素.name

这将是一个更容易刚刚更新文本

$(document).ready(function() { 
    $("#bt1").click(function() { 
     $(".name").text("John Francis"); 
     alert("Your full name is John Francis"); 
    }); 

    $("#bt2").click(function() { 
     $(".name").text("Francis"); 
     alert("Your nickname is Francis"); 
    }); 
}); 

FIDDLE

如果由于某种原因,你必须使用replaceWith (你没有),只需添加类

$(document).ready(function() { 
    $("#bt1").click(function() { 
     $(".name").replaceWith("<div class='name'>John Francis</div>"); 
     alert("Your full name is John Francis"); 
    }); 

    $("#bt2").click(function() { 
     $(".name").replaceWith("<div class='name'>Francis</div>"); 
     alert("Your nickname is Francis"); 
    }); 
}); 

FIDDLE

+0

为什么我应该使用'.text'而不是'.replaceWith'有没有使用'.replaceWith'的方法? – Francisunoxx

+0

我会投票给你的第二个小提琴。大。 – Atula

0
$(document).ready(function() 
{ 
    $("#bt1").click 
    (
     function() 
     { 
      $('div.name').text("") 
      $("<div>John Francis</div>").appendTo('div.name'); 
      alert("Your full name is John Francis"); 
     } 
    ); 

    $("#bt2").click 
    (
     function() 
     { 
      $("div.name div").replaceWith("<div>Francis</div>"); 
      alert("Your nickname is Francis"); 
     } 
    ); 
}); 
相关问题