'innerHTML' doesn't work

'innerHTML' doesn't work

本文关键字:work innerHTML doesn      更新时间:2023-09-26

我的页面中目前有这一行:

<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检测和阻止我的链接和图片:图片

所以我用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>

有人能帮帮我吗?由于

但是我希望如果"replace "为空,那么在

中添加一些内容

如果你想检查内容是否为空,那么使用.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>

我不明白你想要达到什么目的,你能解释清楚吗?

顺便说一句. .

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';
        }

getElementById返回一个HTML元素节点。它没有length属性,因此该属性永远不会等于0

如果要测试元素是否存在,则检查返回值是否为真值:

if (document.getElementById('replaced'))