我试图删除包装在div中的所有代码。
这是我需要删除的代码。

    <div id="btn_flip3" style="position: fixed; top: 80px; left: 5px;" class="ui-draggable ui-draggable-handle">
    <div class="ui-flipswitch ui-shadow-inset ui-bar-a ui-corner-all ui-mini">
        <a href="#" class="ui-flipswitch-on ui-btn ui-shadow ui-btn-inherit">On</a>
        <span class="ui-flipswitch-off">Off</span>
        <input type="checkbox" data-role="flipswitch" data-mini="true" data-theme="a" class="ui-flipswitch-input" tabindex="-1">
    </div>
    Test - Text
    </div>


所以我需要删除上面所有的代码,我已经尝试过了

$('#btn_flip3').remove();
$('#btn_flip3').empty();
$('#btn_flip3').html('');


但是,这不会删除我的btn_flip3 div中的所有内容。
该代码是根据用户输入生成的,因此唯一可以确定的就是第一div的ID。
所以我的问题是我应该如何删除ID为btn_flip3的div中的所有代码。

编辑

我现在尝试添加一个类并在该类上运行.remove(),但结果仍然相同。
代码运行后,div btn_flip3消失了,但是将代码留在了其中。
所以这是HTML结果

<div class="ui-flipswitch ui-shadow-inset ui-bar-a ui-corner-all ui-mini">
    <a href="#" class="ui-flipswitch-on ui-btn ui-shadow ui-btn-inherit">On</a>
    <span class="ui-flipswitch-off">Off</span>
    <input type="checkbox" data-role="flipswitch" data-mini="true" data-theme="a" class="ui-flipswitch-input" tabindex="-1">
</div>
Vardagsrum - Lampa


编辑2

Okey,也许这可能是jquery mobile的问题或我的代码的问题。
这是我如何生成按钮部分html

$('#container').append('<div id ="btn_flip3" style="position: fixed; top: 20px; left: 20px;"><input type="checkbox" data-role="flipswitch" data-mini="false" data-theme="a">Test - Text</div>').trigger("create");


这将创建一个FlipSwitch jquery mobile

如果我只是将数据角色重命名为flipswitch123,这样就永远不会创建flipswitch(只是一个简单的复选框),那么代码就可以工作了。

任何想法为什么这不适用于翻转开关?

编辑3

我已经花了几个小时,但我仍然无法使它正常工作,我现在包括我的测试,也许这可能会对其中的一些专家有所帮助。

Iam使用jquery移动Flipswitch,仅当Iam使用Flipswitch时才会发生此问题。

这就是我为翻盖开关添加代码的方式

$('<div class="btn_flip3" style="position: fixed; top: 20px; left: 20px;">Test - Text<input id="btn_flip3" type="checkbox" data-role="flipswitch" data-mini="false" data-theme="a"></div>').appendTo('#container').trigger("create");


这是从jquery mobile生成的HTML代码,因为数据角色是flipswitch

    <div class="btn_flip3 ui-draggable ui-draggable-handle" style="position: fixed; top: 350px; left: 5px;">
btn_flip3
<div class="ui-flipswitch ui-shadow-inset ui-bar-a ui-corner-all ui-mini">
<a href="#" class="ui-flipswitch-on ui-btn ui-shadow ui-btn-inherit">On</a>
<span class="ui-flipswitch-off">Off</span>
<input id="btn_flip3" type="checkbox" data-role="flipswitch" data-mini="true" data-theme="a" class="ui-flipswitch-input" tabindex="-1">
</div>
</div>


如果我现在运行此代码以删除我创建的div btn_flip3

$('.btn_flip3').remove();


这就是html剩下的内容

btn_flip3
<input id="btn_flip3" type="checkbox" data-role="flipswitch" data-mini="true" data-theme="a" class="ui-flipswitch-input">


如果我将删除代码改为该代码,我会觉得更加奇怪

$('#btn_flip3').remove();


那么唯一剩下的代码就是

btn_flip3


因此,如果我现在将原始代码更改为

data-role="flipswitch1"


这样jquery mobile不会对其进行flipswitch,则创建的代码如下所示

    <div class="btn_flip3 ui-draggable ui-draggable-handle" style="position: fixed; top: 350px; left: 5px;">
btn_flip3
<div class=" ui-checkbox">
<input id="btn_flip3" type="checkbox" data-role="flipswitch1" data-mini="true" data-theme="a">
</div>
</div>


如果我现在运行这个

$('.btn_flip3').remove();


一切都被删除。

有人有什么想法吗?

编辑4
这不是我的选择,但如果我运行此

$('#container').remove();


然后一切都被删除

最佳答案

您的代码似乎没有问题,这很可能是因为您尝试在dom准备就绪之前删除内容。

您可以在下面查看我的工作示例

编辑 - -

我尝试使用动态插入的内容,它的效果也很好。请检查您的浏览器控制台日志中是否记录了任何错误

关于数据角色翻转开关,即触发翻转开关js的标识符



$(document).ready(function(){
    $("#content").append('<div id="btn_flip3">lorem ipsum dolor sit amet consectuer adisplicing elit</div>').trigger('create');

    $("#js-delete").on('click', function($evt){
        $evt.preventDefault();
        $("#btn_flip3").html("content deleted");
  });
});

#content{ margin-bottom:20px; }

.control-box{
  padding:20px;
  background:#eee;
  border:#ddd solid 1px;
}

#js-delete{
  background:red;
  color:#fff;
  display: inline-block;
  padding:4px 8px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="content"></div>

<div class="control-box"><a id="js-delete">Delete Dynamic Content</a></div>

关于javascript - jQuery .empty()、. remove()或.html(''),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26552742/

10-11 13:46