Javascript函数创建元素条件

时间:2013-07-05 05:19:48

标签: javascript

我不是程序员,但是我一直试图查看类似的样本来提出我自己的版本,这就是我想要做的。

<script type="text/javascript">
    var advertContainer = null;
    var adblocked = null;

function Checkads() {
    if ($('.wp_bannerize').height() == 0) {
    var adblocked = document.createElement("span");
    var adnotice  = document.createTextNode("Please support our website by enabling ads");
    adblocked.appendChild(adnotice);
    var advertContainer = document.getElementById("wp_bannerize");
    advertContainer.appendChild(adblocked);
    };
    }

$(document).ready(function(){
    Checkads();
});
</script>

但是我收到错误:Uncaught Type错误:无法调用方法追加子“null”

任何人都可以帮我解决问题

更新

这是更好更好的代码,但是文本只能在源代码中看到,而不能在网站上看到。

<script type="text/javascript">

function checkads() {
    if ($('.wp_bannerize').height() == 0) {
    $('<div id="adnotice">').text('Please support our website by enabling ads').appendTo('.wp_bannerize');
    };
    }

$(document).ready(function(){
    checkads();
});
</script>

1 个答案:

答案 0 :(得分:5)

您使用带有jQuery的类选择器:

$('.wp_bannerize')

但是使用原生DOM方法的ID选择器:

document.getElementById("wp_bannerize");

他们不一样。要修复脚本,请将getElementById('wp_bannerize')替换为getElementsByClassName('wp_bannerize')[0],或者只使用jQuery执行:

if ($('.wp_bannerize').height() == 0) {
    $('<span>').text('Please support our website by enabling ads').appendTo('.wp_bannerize');
}