'innerHTML' 无效
'innerHTML' doesn't work
目前我的页面中有这一行:
<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 检测并阻止我的 link 和图片:
image
所以 a 使用 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>
有人可以帮助我吗?谢谢
getElementById
return 是一个 HTML 元素节点。它没有 length
属性,因此 属性 永远不会等于 0
.
如果您尝试测试元素是否存在,请检查 return 值是否为真值:
if (document.getElementById('replaced'))
我不明白你要实现什么..你能解释得更好吗?
顺便说一句..
if(document.getElementById('replaced').length == 0) {
document.getElementById('replaced').innerHTML = 'chocolat';
}
基本上你是在说 "if the element replaced doesn't exist, replace the content inside of it"。它怎么可能工作?
编辑 在@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';
}
But I want that if "replaced" is empty so add some content into
如果要检查内容是否为空,请使用 .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>
目前我的页面中有这一行:
<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 检测并阻止我的 link 和图片: image
所以 a 使用 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>
有人可以帮助我吗?谢谢
getElementById
return 是一个 HTML 元素节点。它没有 length
属性,因此 属性 永远不会等于 0
.
如果您尝试测试元素是否存在,请检查 return 值是否为真值:
if (document.getElementById('replaced'))
我不明白你要实现什么..你能解释得更好吗?
顺便说一句..
if(document.getElementById('replaced').length == 0) {
document.getElementById('replaced').innerHTML = 'chocolat';
}
基本上你是在说 "if the element replaced doesn't exist, replace the content inside of it"。它怎么可能工作?
编辑 在@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';
}
But I want that if "replaced" is empty so add some content into
如果要检查内容是否为空,请使用 .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>