让HTML标签汇总

时间:2014-04-29 18:07:30

标签: javascript jquery tags removeclass

在我的博客模板中,我有一个脚本,可以在帖子网格中用拇指创建简短的摘要。它计算用拇指和不用拇指显示的字符数,并在底部添加“阅读更多”链接...

我的问题是它删除了摘要中的HTML标记。例如,如果我在帖子中有一个列表( ul / il ),它没有显示,则会生成纯文本。我希望它留下html标签,因为它们最初在帖子中,但保持500(没有拇指)和300(拇指)字符长。

我想我必须更改行removeHtmlTag(div.innerHTML,summ),我无法弄清楚该怎么做...

我的博客:http://ildesign-blogger-demo-1.blogspot.fr/

整个剧本:

posts_no_thumb_sum = 500;
posts_thumb_sum = 300;
img_thumb_height = 150;
img_thumb_width = 150;


//<![CDATA[
function removeHtmlTag(strx,chop){
if(strx.indexOf("<")!=-1)
{
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}
chop = (chop < strx.length-1) ? chop : strx.length-2;
while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++;
strx = strx.substring(0,chop-1);
return strx+'...';
}
function createSummaryAndThumb(pID){
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = posts_no_thumb_sum;
if(img.length>=1) {
imgtag = '<span class="posts-thumb"><img src="'+img[0].src+'" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></span>';
summ = posts_thumb_sum;
}
var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>';
div.innerHTML = summary;
}
//]]>

1 个答案:

答案 0 :(得分:0)

不要调用removeHtmlTag方法。而不是

    var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>';

做:

    var summary = imgtag + '<div>' + div.innerHTML + '</div>';