javascript – 如何删除动态创建的div?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何删除动态创建的div?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2829字,纯文字阅读大概需要5分钟。
内容图文
![javascript – 如何删除动态创建的div?](/upload/InfoBanner/zyjiaocheng/810/fa477ff9f9244805b937923bab4e832b.jpg)
我有一个以下代码使用jstree插件加载数据树视图,插件附加到MVC4的索引视图
<div id="jstree_demo_div">
<ul>
<li class="jstree-closed">Root node 1
<ul>
<li class="c1">child1</li>
<li class="c1">child2</li>
</ul>
</li>
<li class="jstree-closed">Root node 2
<ul>
<li class="c1">child3</li>
<li class="c1">child4</li>
</ul>
</li>
</ul>
</div>
<div id="Divtxt1"></div>
<h2>Index</h2>
@section Scripts{
<script src="Scripts/jstree.min.js"></script>
<script>
$(document).ready(function () {//{ "theme": { "icons": true }
$('#jstree_demo_div').jstree();
$(document).on('click', '.c1', function () {
var nodeText = $(this).text();
//alert(nodeText);
$('#Divtxt1').append('<div style="display:inline-block;border:1px solid black" ' + 'id=' + nodeText + '>' +
'<textarea style=width:100px;height:100px;visibility:visible;' + 'id=txta' + nodeText + '>' + nodeText +
':</textarea>')
.append('<input type="button" class="del" value="Del"' + 'id=' +'btn-' + nodeText + ' />')
.append('</div><br />');
});
$(document).on('click', '.del', function () {
var btnId = $(this).attr('id');
var coll = btnId.split('-');
alert(coll[1]);
//alert( $(this).attr('id') )
alert($(this).find('textarea[id=txta'+coll[1]+']').text());
alert( $(this).closest('div').html() );
});
});
</script>
}
上面的代码将使用< textarea>动态添加div.用户单击任何父节点的子节点时的按钮.按钮的目的是删除它的div(因此它将删除textarea以及带有它的按钮).但我遇到的问题是按钮不会删除它.
另一个是以下代码:
alert($(this).find(‘textarea [id = txta’coll [1]’]’).text());
应该在textarea中显示文本,但它也不显示.那么如何删除按钮所在的div?
解决方法:
有两个问题,首先他们使用append()方式不正确,它不像字符串连接那样工作.其次,您需要删除父div元素
$(document).ready(function() { //{ "theme": { "icons": true }
$('#jstree_demo_div').jstree();
$(document).on('click', '.c1', function() {
var nodeText = $(this).text();
//alert(nodeText);
var html = '<div style="display:inline-block;border:1px solid black" ' + 'id=' + nodeText + '>' + '<textarea style=width:100px;height:100px;visibility:visible;' + 'id=txta' + nodeText + '>' + nodeText + ':</textarea>' + '<input type="button" class="del" value="Del"' + 'id=' + 'btn-' + nodeText + ' /></div><br />';
$('#Divtxt1').append(html);
});
$(document).on('click', '.del', function() {
$(this).closest('div').remove();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" rel="stylesheet" />
<div id="jstree_demo_div">
<ul>
<li class="jstree-closed">Root node 1
<ul>
<li class="c1">child1</li>
<li class="c1">child2</li>
</ul>
</li>
<li class="jstree-closed">Root node 2
<ul>
<li class="c1">child3</li>
<li class="c1">child4</li>
</ul>
</li>
</ul>
</div>
<div id="Divtxt1"></div>
<h2>Index</h2>
内容总结
以上是互联网集市为您收集整理的javascript – 如何删除动态创建的div?全部内容,希望文章能够帮你解决javascript – 如何删除动态创建的div?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。