它总会把这段代码放在一个div里吧
比如这div的id='guanggao'
$('guanggao').innerHTML = '';
这样里面就是一个空格了
比如这div的id='guanggao'
$('guanggao').innerHTML = '';
这样里面就是一个空格了
解决方案 »
- 求助:视频和图片同步代码的问题
- Extjs中Panel加载某个页面Javascript文件很头痛的问题,麻烦各位朋友帮帮忙
- 初级问题,得到答案马上结分,多谢
- chrome 网页打印时 如何用js修改页眉页脚
- jquery获取input表单中的密码值
- 怎么实现无刷新显示登陆过后的个人资料
- 关于中文文件名图片的另存为问题
- 请教:能不能单用JAVASCTIPT来统计一个文件的下载点击次数?--------在线等!
- 一点ie右上角的那个叉,页面不直接关闭,而让它弹出提示框,这个功能怎么做?
- js中${name}永远取值input输入框的初始值,为什么?
- document.postMessage是什么DOM的么?
- 多出“undefined”,搞了半天也没解决,高手帮助!
这是 Blogbus 会在文章末尾最后一个 </p> 后面自动添加的代码.
没法替换么?
<script type="text/javascript">
$('guanggao').innerHTML = '';
</script>
找到标签p选择最后一个,然后innerHTML也可以啊
<br />
<br />
<br />
<table width="468" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<script type="text/javascript" src="http://www.blogbus.com/ads/ads.js"></script>
</td>
</tr>
</table>
<br /></div>直接就是类似于这样的 = =.
p =document.getElementBytagName('p');
p[p.length-1].innerHTML = '';
就用
document.getElementById(postBody).innerHTML='';
如果你还还<p>.....</p>这句的话就用
document.getElementById(postBody).innerHTML='<p>安装程序会自动注册软件为 Pro 版本, 但是并无法检测出已安装的英文版路径, 请大家注意.</p>';
上面那个 p 代表的是文章内容, 有很多个 p 的.
然后在最后一个 p 后面, 从那个 br 开始, 是被自动添加的广告代码, 直到 /div 前最后一个 br.
但是可以去掉广告
var table= new Array();
table=document.getElementBytagName('table');
table[table.length-1].innerHTML = '';
replace(/\[b\](.[^\[]*)\[\/b\]/gi, "<strong>$1</strong>");
我想类似这样没有办法替换么?
就怕不是固定的首先使用document.getElementById("postBody").innerHTML里面的值,再使用正则匹配replace掉
比如:
var str = document.getElementById(postBody).innerHTML;
str.replace(/\[b\](.[^\[]*)\[\/b\]/gi, " <strong>$1 </strong>");
document.getElementById(postBody).innerHTML = str;
正则不太会写
<p>456</p>
<p>789</p> <!-- 这是文章内容 --><br /> <!-- 从这开始是被自动填进去的广告代码 -->
<br />
<br />
<table width="468" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<script type="text/javascript" src="http://www.blogbus.com/ads/ads.js"></script>
</td>
</tr>
</table>
<br /> <!-- 到这里广告结束 --></div> <!-- 文章部分结束 -->我就是想把所有与广告有关的, 包括那些 br 都让他们消失...
我知道这个其实应该有好多种方法的, 但是要考虑到浏览器的兼容性.
所以刚才突然想到可不可以通过替换的方法...
/([\<br\>\s*]{3})?(\<table[^>]\>.*\<\/table[^>]\>)([\<br\>\s*])*/gi
<script type="text/javascript">
window.onload = function(){
var scripts = document.getElementsByTagName("script");
for(var i=0;i<scripts.length;i++)
if(scripts[i].src=="http://www.blogbus.com/ads/ads.js"){
scripts[i].parentNode.innerHTML="";
}
}
</script>
这段是什么意思?
那个 js 倒不是什么问题, 主要是 br 很讨厌.
替换的语句这样写有问题么?var aaa = getElementsByClass("logPage");
for (i = 0; i < aaa.length; i ++) {
aaa[i].innerHTML = aaa[i].innerHTML.replace(/([\ <br\>\s*]{3})?(\ <table[^>]\>.*\ <\/table[^>]\>)([\ <br\>\s*])*/gi, "123");
}
for (i = 0; i < aaa.length; i ++) {
aaa[i].innerHTML = aaa[i].innerHTML.replace("<br /><br /><br />", "123");
}为什么连 br 都替换不掉... 这样不行么?
<div id="postBody"> <p>123 </p>
<p>456 </p>
<p>789 </p><br />
<br />
<br />
<table width="468" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<script type="text/javascript" src="http://www.blogbus.com/ads/ads.js"> </script>
</td>
</tr>
</table>
<br /></div><script type="text/javascript">
window.onload = function(){
var scripts = document.getElementsByTagName("script");
for(var i=0;i<scripts.length;i++)
if(scripts[i].src=="http://www.blogbus.com/ads/ads.js"){
//Remove ADs
var t = scripts[i].parentNode;
while(t.tagName.toUpperCase()!="TABLE") t = t.parentNode;
t.style.display = "none";
//Remove Upper BRs
var upbr = t.previousSibling;
while(upbr.tagName.toUpperCase()=="BR"){
var t = upbr.previousSibling;
upbr.parentNode.removeChild(upbr);
upbr = t;
}
//Remove Lower BRs
var lowbr = t.nextSibling;
while(lowbr.tagName.toUpperCase()=="BR"){
var t = lowbr.previousSibling;
lowbr.parentNode.removeChild(lowbr);
lowbr = t;
}
}
}
</script>
<div id="postBody"> <p>123 </p>
<p>456 </p>
<p>789 </p><br />
<br />
<br />
<table width="468" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<script type="text/javascript" src="http://www.blogbus.com/ads/ads.js"> </script>
</td>
</tr>
</table>
<br /></div><script type="text/javascript">
window.onload = function(){
var scripts = document.getElementsByTagName("script");
for(var i=0;i<scripts.length;i++)
if(scripts[i].src=="http://www.blogbus.com/ads/ads.js"){
//Remove ADs
var t = scripts[i].parentNode;
while(t.tagName.toUpperCase()!="TABLE") t = t.parentNode;
t.style.display = "none";
//Remove Upper BRs
var upbr = t.previousSibling;
while(upbr.tagName.toUpperCase()=="BR"){
var t = upbr.previousSibling;
upbr.parentNode.removeChild(upbr);
upbr = t;
}
//Remove Lower BRs
var lowbr = t.nextSibling;
while(lowbr.tagName.toUpperCase()=="BR"){
var t = lowbr.nextSibling;
lowbr.parentNode.removeChild(lowbr);
lowbr = t;
}
}
}
</script>
<div id="postBody"> <p>123 </p>
<p>456 </p>
<p>789 </p><br />
<br />
<br />
<table width="468" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<script type="text/javascript" src="http://www.blogbus.com/ads/ads.js"> </script>
</td>
</tr>
</table>
<br /></div><script type="text/javascript">
var scripts = document.getElementsByTagName("script");
for(var i=0;i<scripts.length;i++)
if(scripts[i].src=="http://www.blogbus.com/ads/ads.js"){
//Remove ADs
var t = scripts[i].parentNode;
while(t.tagName.toUpperCase()!="TABLE") t = t.parentNode;
t.style.display = "none";
//Remove Upper BRs
var upbr = t.previousSibling;
while(upbr.tagName.toUpperCase()=="BR"){
var t = upbr.previousSibling;
upbr.parentNode.removeChild(upbr);
upbr = t;
}
//Remove Lower BRs
var lowbr = t.nextSibling;
while(lowbr.tagName.toUpperCase()=="BR"){
var t = lowbr.nextSibling;
lowbr.parentNode.removeChild(lowbr);
lowbr = t;
}
}
</script>
其它浏览器没试.
var br = document.getElementsByTagName('br');
var table = document.getElementsByTagName('table');
table[table.length-1].style.display = 'none';
for (var i=br.length-1;i>=br.length-4;i--) {
br[i].style.display = 'none';
}
</script>感谢 yonghengdexingxing 告诉我 fuction 与页面加载间的关系这个问题.
如果你自己的代码也有table和br的话,36的代码可能会有些问题PS:32楼的代码确实还有问题,呵呵,修改后应该ok了,Sorry for that
<div id="postBody"> <p>123 </p>
<p>456 </p>
<p>789 </p><br />
<br />
<br />
<table width="468" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<script type="text/javascript" src="http://www.blogbus.com/ads/ads.js"> </script>
</td>
</tr>
</table>
<br /></div><script type="text/javascript">
var scripts = document.getElementsByTagName("script");
for(var i=0;i<scripts.length;i++)
if(scripts[i].src=="http://www.blogbus.com/ads/ads.js"){
//Remove ADs
var tb = scripts[i].parentNode;
while(tb.tagName.toUpperCase()!="TABLE") tb = tb.parentNode;
tb.style.display = "none";
//Remove Upper BRs
var upbr = tb.previousSibling;
while(upbr!=null&&upbr.tagName.toUpperCase()=="BR"){
var t = upbr.previousSibling;
upbr.parentNode.removeChild(upbr);
upbr = t;
}
//Remove Lower BRs
var lowbr = tb.nextSibling;
while(lowbr!=null&&lowbr.tagName.toUpperCase()=="BR"){
var t = lowbr.nextSibling;
lowbr.parentNode.removeChild(lowbr);
lowbr = t;
}
}
</script>
刚才找了一篇带有 br 的文章, 看了看 36 的代码好像没问题.
恩, table 没试.