$.each(result.rows, function (i, data) { $("#dlhot").append("<dd >" + "<p class='new_rq'>" + "<span>" + data.TimesSys + "</span>热度" + "</p>" + "<p class='newrf_tx'>" + "<a href='#' title='" + data.KldgQuestion + "'onclick='OpenLishow(" + data.myPK + ")'>" + data.KldgQuestion + "</a>" + "<span title='" +data.KldgAnswer+ "'>" + data.KldgAnswer + "</span>" + "</p>" + "<p class='newrf_down'><span>" + data.Mtime + "</span></p>" + "<p style='float:left;font-size:12px;color:#999;margin-left:10px;'><span>" + data.SortBN + "</span></p>" + "<p style='float:left;font-size:12px;color:#999;margin-left:10px;'><span>" + data.DeptName + "</span></p>" + "<a/></dd>"); });
data.KldgAnswer的数据是用CKEDITOR编辑的,带有<p>的时候,<span>就乱了。
解决办法:
先把data.KldgAnswer处理一下
var s=data.KldgAnswer.replace(/ ;/g, '').replace(/<br \/>/g, '\n').replace(/<br>/g, '\n').replace(/ /g, " ").replace(/&rdquo/g, '').replace(/&ldquo/g, '').replace(/&rarr/g, '').replace(/…/g, '').replace(/;/g, '').replace(/&mdash/g, '').replace(/&alpha/g, 'α').replace(/<p>/g, ''). replace('</p>', '').replace(/<br\/>/g, '\n').replace(/<.+?>/g, '');
去掉所有html的标签,显示就正常了。