我现在想写一个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/> "+sdv[i].style.cssText+";<br/>}<br/>";
}else{
ccss+="#"+url+"_"+la+"div"+i+"<br/>{<br/> "+sdv[i].style.cssText+";<br/>}<br/>";
}
}
}
document.body.innerHTML=ccss; }
</script>
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/> "+sdv[i].style.cssText+";<br/>}<br/>";
}else{
ccss+="#"+url+"_"+la+"div"+i+"<br/>{<br/> "+sdv[i].style.cssText+";<br/>}<br/>";
}
}
}
document.body.innerHTML=ccss; }
</script>
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";
1,首先 innerHTML 得到(某个对象的)HTML内容
2,然后得到style开始, 第二个 双引号或单引号 结束其中的内容就是行内的CSS内容
$("div").attr("style","");
$("div").attr("ID","XXX");
所有div的id设为你想要的值,如果你要循环设置,就用
$("div").each(function(){
$(this).attr("ID",i++);
})
?