Yah*_*hel 9 javascript jquery parsing
因此,我必须使用JavaScript确定专有CRM中的页面类型.确定页面类型(即前端唯一一致的差异)的唯一方法是检查src属性以/ modules /开头的脚本标记(在许多列表中).
在标题中的十几个脚本标记的列表中,每个页面都有以下格式的行
<script src="/modules/example/includes/sample.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
现在,脚本标记的顺序永远不会相同,但是,总有一个脚本具有/ modules/blah.我需要提取blah到我的脚本可以检测它是什么样的页面.
那么,我如何使用JavaScript或jQuery提取脚本标记的src值,其中src以/ modules开头,然后将值('示例',在上面的示例中)存储为javascript变量?
Sho*_*og9 18
好吧,您可以从收集所有脚本元素开始.使用jQuery,就像这样简单
var scripts = $("script");
Run Code Online (Sandbox Code Playgroud)
然后将该集限制为具有src属性的元素:
var scripts = $("script[src]");
Run Code Online (Sandbox Code Playgroud)
...并进一步将其限制为具有src 以 "/ modules /" 开头的属性:
var scripts = $("script[src^='/modules/']");
Run Code Online (Sandbox Code Playgroud)
...给出你的描述应该产生一组恰好一个元素,你现在可以从中拉出src属性值:
var path = $("script[src^='/modules/']").attr('src');
Run Code Online (Sandbox Code Playgroud)
好的,这很容易 - 现在提取路径的下一部分.有很多方法可以做到这一点,但拆分是快速和愚蠢的:使用'/'作为分隔符创建一个零件数组,然后选择第三个元素(将是"模块"之后的那个):
var pathPart = $("script[src^='/modules/']").attr('src').split('/')[2];
Run Code Online (Sandbox Code Playgroud)
显然,这一切都非常特定于您使用的脚本路径的确切格式作为示例,但它应该让您很好地了解如何开始......