本帖最后由 migichen 于 2011-08-24 16:21:40 编辑

解决方案 »

  1.   

    用正则匹配搜索,
    var strHTML=document.body.innerHTML;
    var p=new RegExp("/images\w+/\w+.gif");
    var results=p.Execute(strHTML);
    //results数组就是匹配的字符串大致就是这个意思,可能还有点不妥,楼主再修正吧。。
      

  2.   

    如果楼主仅仅是为了id为xxx元素的css 样式里的 背景图片地址的话
    以下方法就可以啦 var el=document.getElementById('header_bg2');
    var cssProps;
    if(!el.currentStyle){
    cssProps=document.defaultView.getComputedStyle(el,null);
    }else{
    cssProps=el.currentStyle;
    }
    var css=cssProps['backgroundImage'];
    alert(css);用正则匹配的话 假设样式的字符串 为css
    第一种 var p='/images',s='\\.gif';
    var reg=new RegExp('url\\([^\\)]*('+p+'[^\\)]*'+s+')[^\\)]*\\)','gi');
    var mcs;
    for(;;){
    mcs=reg.exec(css);
    if(!mcs){
    break;
    }
    alert(mcs[1]);
    }第二种 var p='#\\*&\\^根目录',s='文件';
    var reg=new RegExp('url\\([^\\)]*('+p+'[^\\)]*'+s+')[^\\)]*\\)','gi');
    var mcs;
    for(;;){
    mcs=reg.exec(css);
    if(!mcs){
    break;
    }
    alert(mcs[1]);
    }
      

  3.   

    正则对如下也会被匹配:
    #header_bg2 {
        WIDTH: 100%; BACKGROUND: url(/images/system/t3/header_) #fff repeat-x; FLOAT: left; PADDING-TOP: 43px
    }
    #header_bg3 {
        WIDTH: 100%; BACKGROUND: url(system/t3/header_bg2.gif) #fff repeat-x; FLOAT: left; PADDING-TOP: 58px
    }
    需要改良一下:
    求一个没有空格的正则。