javascript - 如何获取html标题元素

标签 javascript jquery dom

因为我想发送 <head> section e.g. css & js file name 中包含的文件名通过 ajax 将其容器文件夹添加到服务器端.
请注意,在给定的示例中 css & js位于files文件夹内。
那么我如何获取包含其容器的 css 和 js 文件名

<html> <head>
  <link rel="stylesheet" href="files/sample.css"/>
  <script type="text/javascript" src="files/jquery.js"> </script>
</head>  

现在我还需要考虑其他事情,sample.CSS

    #myImage {
       background: url('image/lucy.jpg'); 
  /* also i need to get these image file name including details with location */
    }

最佳答案

这是为了获取 head 元素中的资源名称(样式表和脚本):

function filterName(path){
    path = path.split('/');
    return path[path.length - 1];
}
var styleSheets = [];
$('head link[rel=stylesheet]').each(function(){
    styleSheets.push(filterName($(this).attr('href'));
});
var scripts = [];
$('head script[src]').each(function(){
    scripts.push(filterName($(this).attr('src'));
});

实际解析这些文件并计算它们的完整路径相当困难。要获取所有图像,您可以考虑遍历所有 dom 元素并检查它们是否通过 css 附加了任何 background-image :

function filterBgImage(n){
    var m = n.match(/url\(["'](.*?)["']\)/);
    if(m && m.length == 2)
        return m[1];
    return n;
}
var imgs = [];
$('*')
    .filter(function(){
        var a =  $(this).css('background-image');
        return a != '' && a != 'none';
    })
    .each(function(){
        imgs.push(filterBgImage($(this).css('background-image')));
    });

这种方法的好处是您不必将相对路径转换为完整路径,因为 jquery 正在为您做这件事。

关于javascript - 如何获取html标题元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723345/

相关文章:

javascript - Meteor Template 不会在每个语句中输出数据

javascript - 如果验证失败,如何停止表单提交

javascript - jQuery - 为什么是 :first and :last work but not :nth-child(2) in my code?

jquery - 将数组的 JSON 数组转换为 <ul> 和 <li> 元素

字符串行中的 JavaScript IF ELSE 语句

javascript - 如何判断一个元素是否匹配选择器?

javascript - 使用 jQuery 滚动标签?

javascript - 在成功调用之外使用通过 Ajax 加载的 XML 文件内容

javascript - 普通 Javascript 和 Dom 性能

javascript - 将列表项添加到 DOM?