2017-04-22 75 views
0

我想用「」替換「dvv」標識的按鈕「提交」(只是刪除按鈕)。所以我用這個代碼,它的工作原理,但我應該點擊按鈕「測試」兩次工作。任何解釋?如何用JQUERY中的替換替換內容

<script> 
    $.fn.gotof = function() { 

     $(document).ready(function(){ 
     $('#btt').click(function(){ 
      $('#dvv').replaceWith(""); 
     }); 
    }); 
    }; 


     function dofunc() { 

     $.fn.gotof(); 
    } 

    </script> 
    <button id="btt" onclick="dofunc()">test</button> 
    <div id="dvv"> <input type="submit" value="submit"></div> 
+0

究竟是你的要求嗎?想要刪除按鈕?或者更換按鈕文字? – brk

+0

刪除按鈕 – Maki

+0

爲什麼不使用[remove()](http://api.jquery.com/remove/)? – charlietfl

回答

2

還有一個問題,你只有先點擊上添加事件監聽器第二點擊它做你的工作

您可以修復,在這種方式

function dofunc() { 
 
    $('#dvv').replaceWith(""); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="btt" onclick="dofunc()">test</button> 
 
<div id="dvv"> <input type="submit" value="submit"></div>

$(document).ready(function() { 
 
    $('#btt').click(function() { 
 
    $('#dvv').replaceWith(""); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="btt">test</button> 
 
<div id="dvv"> <input type="submit" value="submit"></div>

在你的情況,你混在錯誤的方式

全jQuery的風格這兩種方法:

$.fn.gotof = function() { 
 
    $('#dvv').replaceWith(""); 
 
}; 
 

 

 
function dofunc() { 
 
    $("#btt").gotof(); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="btt" onclick="dofunc()">test</button> 
 
<div id="dvv"> <input type="submit" value="submit"></div>

+0

工作感謝 – Maki

0

第一次喲你點擊按鈕,添加一個onclick事件處理程序。第二次點擊按鈕時,點擊事件處理程序被添加並且PREVIOUSLY ADDED處理程序被觸發。

更換所有你的JavaScript只有這個片段

$(document).ready(function(){ 
    $('#btt').click(function(){ 
     $('#dvv').replaceWith(""); 
    }); 
    }); 
+0

,但我需要在函數中的一些條件,這就是爲什麼我使用該函數「dofunc()」 – Maki

1

如果婉刪除按鈕,使用remove方法

$('#btt').click(function(){ 
      $(this).remove(); 
     });