如何在JQUERY中使用replace替换某些东西

时间:2017-04-22 11:56:54

标签: javascript jquery

我想将submit标识的按钮dvv替换为""(仅删除按钮)。所以我正在使用这个代码,它可以工作,但我应该点击按钮'test'两次才能工作。有什么解释吗?

<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>

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

如果您要删除该按钮,请使用remove方法

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

答案 2 :(得分:0)

首次单击该按钮时,会添加onclick事件处理程序。第二次单击该按钮时,会添加一个on click事件处理程序,并触发PREVIOUSLY ADDED处理程序。

仅使用此代码段替换所有JavaScript

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