javascript 中如何用正则表达式 获取当前页面的所有css样式标签,所有javascript标签。

javascript 中如何用正则表达式
获取当前页面的所有css样式标签,所有javascript标签。
求大神
不光是<link></link>标签,
还有<style></script>
<script></script>

取出来的值包括标签本身以及标签内的值。

刚写完,并测试了

/<link[^>]+>|<(script|style)[^>]+>.*?<\/(script|style)>/gi

使用的时候,使用 

var arr = str.match(regexp);
for(var i=0, len=att.length;i<len;i++) {
    //自己处理吧
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-21
用不着用正则,直接用document.scripts.length和document.styleSheets.length就行了追问

我这里是这样的情况。

把html的全部源码当做一个字符串传到前台,然后要一一解析。
用这个方法不行。

第2个回答  2013-05-21
var str = '<link rel="stylesheet" type="text/css" href="jquery-ui-1.9.2.custom.css" /><div id="pma_navigation"><div id="pma_navigation_resizer"></div></div><link href="test.js" />';

var links = str.split('<link');
console.log(links);
var link = [], tmp = '';
for(var i in links)
{
link[i] = links[i].match(/href="(.*?)"/i);
}
console.log(link);追问

这种方法不能达到目标吧,分裂字符串对于一个信息很多很大的html来说,有点不合适。

感谢让我知道了,有console.log()这个东西。

本回答被网友采纳
相似回答