从脚本标记中提取src属性并根据特定匹配进行解析

时间:2010-07-08 16:51:48

标签: javascript jquery parsing

因此,我必须使用JavaScript确定专有CRM中的页面类型。确定页面类型(即前端唯一一致的差异)的唯一方法是检查src属性以/ modules /开头的脚本标记(在许多列表中)。

在标题中的十几个脚本标记的列表中,每个页面都有以下格式的行

 <script src="/modules/example/includes/sample.js" type="text/javascript"></script> 

现在,脚本标记的顺序永远不会相同,但是,总有一个脚本具有/ modules / blah。我需要提取blah到我的脚本可以检测它是什么类型的页面。

那么,我如何使用JavaScript或jQuery提取脚本标记的src值,其中src以/ modules开头,然后将值('示例',在上面的示例中)存储为javascript变量?

1 个答案:

答案 0 :(得分:16)

好吧,您可以从收集所有脚本元素开始。使用jQuery,就像

一样简单
var scripts = $("script");

然后将该设置限制为具有src属性的元素:

var scripts = $("script[src]");

...并进一步将其限制为src attribute beginning with“/ modules /”:

var scripts = $("script[src^='/modules/']");

...给出你的描述应该产生一组恰好一个元素,现在你可以从中提取src属性值:

var path = $("script[src^='/modules/']").attr('src');

好的,这很容易 - 现在提取路径的下一部分。有很多方法可以做到这一点,但分裂是快速和哑:使用'/'作为分隔符创建一个零件数组,然后选择第三个元素(将是“模块”之后的那个元素):

var pathPart = $("script[src^='/modules/']").attr('src').split('/')[2];

显然,这非常特定于您使用的脚本路径的确切格式作为示例,但它应该让您很好地了解如何开始......