如何使用jquery读取文件并获取头部和身体的内容?
我正在尝试阅读一个html文件,并使用jquery获取头部和身体标记的内容。但对我来说没有运气。这是我使用的代码。它为我找到了一个id或一个类的内容。但不是与头部和身体标签?希望你们能尽快帮助我。谢谢。如何使用jquery读取文件并获取头部和身体的内容?
$.get(file, function(response) { alert(response);
alert($(response).filter('body').html());
//is null
alert($(response).filter('head').html());
//is null
});
我正在使用手工过滤功能。基本上,它会将头像,htmls和元标记转换为div和段落,这样他们就不会迷路了。这是我的功能,你可能想要适应其他的东西。
function filterInput(sx){
var t = new Date().getTime();
var strip_only = function (input,only){only=(((only||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join('');var tags=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,commentsAndPhpTags=/<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;return input.replace(commentsAndPhpTags,'').replace(tags,function($0,$1){return only.indexOf('<'+$1.toLowerCase()+'>')===-1?$0:'';});};
sx = sx.replace(new RegExp('<html.*?>','gmi'),'').replace(new RegExp('</html>','gmi'),'');
/* strip out head & body tags */
sx = sx.replace(new RegExp('<head.*?>','gmi'),'<div id="u_'+t+'_head">')
.replace(new RegExp('</head>','gmi'),'</div>')
.replace(new RegExp('<body.*?>','gmi'),'')
.replace(new RegExp('</body>','gmi'),'');
/* replace title tag */
sx = sx.replace(new RegExp('<title.*?>','gmi'),'<p id="u_'+t+'_title">')
.replace(new RegExp('</title>','gmi'),'</p>');
/* replace meta tags */
sx = sx.replace(new RegExp('<meta','gmi'),'<p');
sx = strip_only(sx,'<img><link><style>');
/* wrap */
sx = $("<div>"+sx+'</div>');
return sx;
}
好吧,如果我使用这个,我该如何改变这个来找到头部或身体的内容? – guitarlass 2012-03-19 04:56:45
删除'var t = new Date()。getTime()'并将其作为函数参数(函数filterInput(sx **,t **))传递。然后使用'var t = new Date()。getTime(); var html = filterInput(response.responseText,t); var head = $('div#u _'+ t +'_ head',html); var title = $('p#u _'+ t +'_ title'); // ...'。对于身体删除身体/身体标记,并使其看起来像头,只需阅读代码,它很容易,它是有道理的。 – 2012-03-19 07:03:13
提醒事情可能会非常恼人。你应该使用'console.log()'(假设你有Firefox或Chrome)。 – mowwwalker 2012-03-19 04:36:18