我目前在我的页面中有这一行:
<p id="replaced">
<a id="linkReplace" href="https://www.g2a.com/r/nowyoushare">
<img src="images/ads.png" class="img-responsive" alt="" onmouseover="hover(this);" onmouseout="unhover(this);">
</a>
</p>
因此adblock会检测并阻止我的链接和图片: image
所以用JavaScript
创建了一个测试脚本,但它不起作用:/
代码:
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/lightbox.min.js"></script>
<script type="text/javascript" src="js/wow.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
<script>
if(document.getElementById('replaced').length == 0) {
document.getElementById('replaced').innerHTML = 'chocolat';
}
</script>
有人能帮助我吗?感谢
答案 0 :(得分:1)
我无法理解你要实现的目标。你能更好地解释一下吗?
BTW ..
if(document.getElementById('replaced').length == 0) {
document.getElementById('replaced').innerHTML = 'chocolat';
}
基本上你说“如果替换的元素不存在,则替换它内部的内容”。怎么可能有效?
@bezoo 的回复后,编辑
在检查元素是否存在后,您可以编写类似的内容来创建元素。
if(document.getElementById('replaced').length == 0) {
var p = document.createElement('p');
p.setAttribute("id", "replaced");
}
然后用你刚创建的元素的innerhtml做任何你想做的事。
<强> EDIT2 强> 我误解了..
此代码应该可以使用
if(document.getElementById('replaced').innerHTML == "") {
document.getElementById('replaced').innerHTML = 'chocolat';
}
答案 1 :(得分:1)
但我希望如果“被替换”为空,那么将一些内容添加到
中
如果您想检查内容是否为空,请使用.innerHTML.length
:
if(document.getElementById('replaced').innerHTML.length == 0) {
document.getElementById('replaced').innerHTML = 'chocolat';
}
希望这有帮助。
空内容案例
if(document.getElementById('replaced').innerHTML.length == 0) {
document.getElementById('replaced').innerHTML = 'chocolat';
}
<p id="replaced"></p>
答案 2 :(得分:-1)
getElementById
返回HTML元素节点。它没有length
属性,因此该属性永远不会等于0
。
如果您要测试元素是否存在,请检查返回值是否为真值:
if (document.getElementById('replaced'))