我现在想写一个js去扣取网页内的行内css,遇到一些问题希望大家帮忙看看
1.
 我的想法是把css扣取出来,并且把html里边的样式给删除掉。发现不可能后,只能找其他办法,于是我就获取body的innerHTML 但是这样获取出来后的东西 跟原来的html区别很大,如何才能获取原来body内的东西
2.
 我想设置没有设置id的我给他动态设置个,例如<div style="color:#000000"></div> 我想通过js给他设置成<div id="sd" style="color:#000000"></div>这一些该怎么处理,只要输出后便于复制皆可不要求非的怎么怎么的下边是我的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <script type="text/javascript" >
    window.onload=function(){
    var vd=document.body.innerHTML;
    var sd=vd.split('"');
    var sdf="";
  for(var i=0;i<sd.length;i++){
  if(i%2==0){
   if(i!=(sd.length-1)){
  sdf+=sd[i].substring(0,sd[i].length-6);
 
 }else{
 sdf+=sd[i]
 }
 
  }
  
  }
  document.body.innerText=sdf;
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="sdv" style="background-color:Red;">
    xdgsdghsd
    </div>
     <div id="Div1" style="background-color:Red;">
    xdgsdghsd
    </div>
    </form>
</body>
</html>
<script language="javascript" type="text/javascript">
 window.onload=function()
 {
 var dir = location.href.substring(0,location.href.lastIndexOf('/')+1);
 var url = location.href.substring(dir.length,dir.length+1);
 var la=location.href.substring(location.href.lastIndexOf('.'),location.href.lastIndexOf('.'));
 var ccss="";
 var dname="div";
 var sdv= document.getElementsByTagName(dname);
 var bodycont=document.body.innerHTML;
 for(var i=0;i<sdv.length;i++){
 if(sdv[i].style.cssText!=""){
 if(sdv[i].id!=""){
ccss+="#"+sdv[i].id+"<br/>{<br/>&nbsp;"+sdv[i].style.cssText+";<br/>}<br/>";
}else{
ccss+="#"+url+"_"+la+"div"+i+"<br/>{<br/>&nbsp;"+sdv[i].style.cssText+";<br/>}<br/>";
}
}
 }
document.body.innerHTML=ccss; }
</script>

解决方案 »

  1.   

    你这样也太麻烦了
    1.我的想法是把css扣取出来,并且把html里边的样式给删除掉。发现不可能后,只能找其他办法,于是我就获取body的innerHTML
    :可以直接取到对象的css,并且改变的:
    document.getElementById('sd').style.color =""; 直接赋值可以,要删除就style.styleName =""就行了。
    2.
    我想设置没有设置id的我给他动态设置个,例如 <div style="color:#000000"> </div> 我想通过js给他设置成 <div id="sd" style="color:#000000"> </div>
    :也可以的:
    var div = document.getElementsByTagName("div");
    if(div.style.color == "#000000"")div.id = "sd";
      

  2.   

    这个思路可以:
    1,首先 innerHTML 得到(某个对象的)HTML内容
    2,然后得到style开始, 第二个 双引号或单引号 结束其中的内容就是行内的CSS内容
      

  3.   

    搂住还是直接像4楼那样用Jquery吧,很少几句code就能实现了
      

  4.   

    我的想法是运行后直接获取到css 和删除style=“” 还有添加好id的body内容   然后我就可以很简单的css分离了被
      

  5.   

    获取:
    $("div").attr("style","");
    $("div").attr("ID","XXX");
      

  6.   

    上面两句表示:所有div的style属性设为空,
    所有div的id设为你想要的值,如果你要循环设置,就用
    $("div").each(function(){
       $(this).attr("ID",i++);
    })
      

  7.   

    <div style="color:#000000"></div>可以变成:<div id="sd"></div>
      

  8.   

    删除属性用$("div").removeAttr( name )
      

  9.   

    jquery 可以看看api..很方便的.