我想清除一个动态创建的div,以下是创建div的函数:我尝试过:
jQuery('#sel').html('');
$( ".sel" ).empty();
但没有任何帮助
function constructor_obj(parent, title, address, pincode,village,mobile,owner, specs) {
this.parent = parent;
this.title = title;
this.address = address;
this.pincode = pincode;
this.village = village;
this.mobile = mobile;
this.owner = owner;
this.specs = specs;
var div = document.createElement('sel');
div.style = "width:auto";
div.className = "w3-card-4";
div.innerHTML = '\
<div class="w3-card-4" style="width:auto">\
<div class="w3-container">\
<h1 class="title"><b>Dr. Abc</b></h1>\
</div>\
<div class="w3-container">\
<h2 class="specialty">Specialty :<b> Physiotherapist</b></h2>\
<hr>\
<p class="address">Address :<b> Marketing and Advertising. Seeking a new job and new opportunities.</b></p>\
<p class="pincode">Fee Details:500-600rs</p>\
<p class="village">Fee Details:500-600rs</p>\
<p class="mobile">Fee Details:500-600rs</p>\
<p class="owner">Fee Details:500-600rs</p>\
\
</div>\
<button class="w3-btn-block w3-dark-grey">More Details</button>\
';
this.parent.appendChild(div);
div.getElementsByClassName('title')[0].innerHTML = this.title;
div.getElementsByClassName('specialty')[0].innerHTML = this.specs;
div.getElementsByClassName('address')[0].innerHTML = this.address;
div.getElementsByClassName('pincode')[0].innerHTML = this.pincode;
div.getElementsByClassName('village')[0].innerHTML = this.village;
div.getElementsByClassName('mobile')[0].innerHTML = this.mobile;
div.getElementsByClassName('owner')[0].innerHTML = this.owner;
this.parent="";
}
我在这里调用这个函数:
function generatefilterrecord() {
for (var i = 0; i < name.length; i++) {
obj = new constructor_obj(document.body,name[i],address[i], pincode[i],village[i],mobile[i],owner[i],spec[i]);
}
});
}
答案 0 :(得分:0)
var div = document.createElement('sel');
实际上会创建一个类似于<sel></sel>
的标记。你真正想做的是:
var div = document.createElement('div');
div.id = 'sel';
这将生成类似<div id="sel"></div>
的标记,现在您可以使用$('#sel')
中的标准JQuery ID表示法访问它(以及在其上运行所有其他JS)。要清除所有内容,只需执行div.innerHTML = ''
请注意,为了完全看到它,您需要通过将其添加到另一个元素innerHTML
或类似内容(我没有检查)以某种方式将其放到页面上看看你是否这样做,如果你这样做,忽略这一部分,我只是安全了。)
答案 1 :(得分:0)
Jquery有两种获取dom的方法:一种是通过id获取,另一种是使用class; 但你不是上面的两个。您可以在html中添加id,或使用该类。你得到dom的方式:jQuery(&#39;#sel&#39;)。html(&#39;&#39;); $(&#34; .sel&#34;)。empty()不是正确的方法。你可以选择第二个。就像这样:
$(&#34; .w3-card-4&#34;)。remove();
旁边 var div = document.createElement(&#39; sel&#39;); 改成 var div = document.createElement(&#39; div&#39;); 不过会更好。
答案 2 :(得分:0)
您可以使用Element.innerHTML
Element.innerHTML属性设置或获取HTML语法描述 元素的后代。 More info here
document.getElementById('sel').innerHTML = '';
<div id="sel">some content here</div>