我正在调用一个ajax函数,并且在回调时我得到了html数据。由于数据有不确定的html标签,我想删除那些标签并将其附加到我的表。为此我将我的html转换为jquery对象,删除所有标签,现在我想将其转换回html。我知道我已经使用了一个错误的for循环。如何转换jquery对象(在这种情况下,arr为html数据),我们将不胜感激。
$.ajax({
type: "POST",
cache: false,
url: '@Url.Content("~/SyndromicQuery/QueryPeriod")',
dataType: 'html',
data: {
selectedItem: selectedItem,
startdate: startdate,
enddate: enddate,
queryid: queryid
},
success: function (data) {
var jqObj = $.parseHTML(data)
var arr = jqObj;
arr.splice(6, 1);
arr.splice(7, 1);
arr.splice(9, 1);
arr.splice(9, 7);
arr.splice(0, 7)
arr.splice(0, 1);
arr.splice(1, 4);
var test = '';
for (var i = 0; i < arr.length; i++) {
test += "" + arr[i].innerhtml + "";
$('canvas').remove();
// $("#tblresult").append(html);
$('#divtest').html(test)
// $("#divtest").empty().append(arr);
答案 0 :(得分:0)
我建议您执行以下操作(除非我误解了您的代码):
success: function (data) {
$('#divtest').html($(data).empty());
}
或者,例如,对于内部元素div.test#id
:
success: function (data) {
var $data = $(data);
$data.find("#divclear").remove();
$('#divtest').html($data);
// OR (depending on what's in 'data')
$('#divtest').html($data.children());
}
答案 1 :(得分:0)
http://api.jquery.com/jQuery.parseHTML/ 将字符串转换为dom元素数组。
这绝对有效。 appendChild 是纯粹的javascript函数。 要将Jquery OBJECT转换为HTML,请执行此操作&gt;&gt; &GT;&GT;
var $data = $(document.createElement('div'))[0];
arr.forEach(function(v){$data.appendChild(v)});
&安培;在你的情况下
$('#divtest').html($data);
jsfiddle:http://jsfiddle.net/techsin/kjevr/3/