Javascript JS代码有什么问题,请告诉我代码是否可以改进

Javascript JS代码有什么问题,请告诉我代码是否可以改进,javascript,html,css,getelementbyid,Javascript,Html,Css,Getelementbyid,获取类型错误:document.getElementById(“免费送货”)为null 这就是我想要的--- 我只是想确保这两个特定的div只显示我的主页。但是我收到了这个错误,但是警报正在工作。如果我遗漏了什么,请告诉我 在这种情况下,我只需使用javascript,就可以更好地编写这段代码 JS代码 <script type="text/javascript"> var myaddr = location.host; if(myaddr == "abc.xy.com") { d

获取类型错误:
document.getElementById(“免费送货”)
null

这就是我想要的---

我只是想确保这两个特定的div只显示我的主页。但是我收到了这个错误,但是警报正在工作。如果我遗漏了什么,请告诉我

在这种情况下,我只需使用
javascript
,就可以更好地编写这段代码

JS代码

<script type="text/javascript">
var myaddr = location.host;
if(myaddr  == "abc.xy.com")
{
document.getElementById('free_shipping').style.display="visible"; 
document.getElementById('sale').style.display="visible"; 
//alert("I am in if");
}
else{
document.getElementById('free_shipping').style.display="none"; 
document.getElementById('sale').style.display="none"; 
//alert("I am in else");
}
</script>
    <!--####### Free Shipping Start ##############-->
    <div id="free_shipping">
    </div>
    <!--Free Shipping End-->
    <!--####### Sale Start ####### -->
    <div id="sale">
    </div>
    <!--Sale End-->
    #free_shipping
    {
    background: url("../images/template/swap_free_shipping.jpg") no-repeat scroll 0 0 transparent;
    height: 112px;
    left: -57px;
    position: relative;
    top: 256px;
    width: 62px;  
    }
    #sale
    {
    background: url("../images/template/swap_sale.jpg") no-repeat scroll 0 0 transparent;
    left: -55px;
    position: relative;
    top: 384px;
    width: 59px;
    height: 79px;

}

可能是在文档完全加载之前调用了JS,因此元素还不存在?
使用页面底部的JS代码进行尝试,或者仅在完整页面加载后调用它。

可能是在文档完全加载之前调用了JS,因此元素还不存在? 使用页面底部的JS代码进行尝试,或者仅在完整页面加载后调用它。

如果您的
位于网站的
部分,那么它将在页面加载之前开始执行,因此
免费送货
销售
将不存在于DOM中

尝试执行以下操作,这将使您的代码在页面完成加载后发生

<script type="text/javascript">
  window.onload = function() {
    var myaddr = location.host;
    if(myaddr  == "abc.xy.com")
    {
      document.getElementById('free_shipping').style.display="visible"; 
      document.getElementById('sale').style.display="visible"; 
      //alert("I am in if");
    }
    else{
      document.getElementById('free_shipping').style.display="none"; 
      document.getElementById('sale').style.display="none"; 
      //alert("I am in else");
    }
 }
</script>

window.onload=函数(){
var myaddr=location.host;
如果(myaddr==“abc.xy.com”)
{
document.getElementById('free_shipping').style.display=“visible”;
document.getElementById('sale').style.display=“可见”;
//警惕(“我在if”);
}
否则{
document.getElementById('free_shipping').style.display=“无”;
document.getElementById('sale').style.display=“无”;
//警惕(“我在别的地方”);
}
}
这也可以通过使用来完成,但我对它的了解非常有限。

如果您的
位于网站的
部分,那么它将在页面加载之前开始执行,因此
免费送货
销售
将不存在于DOM中

尝试执行以下操作,这将使您的代码在页面完成加载后发生

<script type="text/javascript">
  window.onload = function() {
    var myaddr = location.host;
    if(myaddr  == "abc.xy.com")
    {
      document.getElementById('free_shipping').style.display="visible"; 
      document.getElementById('sale').style.display="visible"; 
      //alert("I am in if");
    }
    else{
      document.getElementById('free_shipping').style.display="none"; 
      document.getElementById('sale').style.display="none"; 
      //alert("I am in else");
    }
 }
</script>

window.onload=函数(){
var myaddr=location.host;
如果(myaddr==“abc.xy.com”)
{
document.getElementById('free_shipping').style.display=“visible”;
document.getElementById('sale').style.display=“可见”;
//警惕(“我在if”);
}
否则{
document.getElementById('free_shipping').style.display=“无”;
document.getElementById('sale').style.display=“无”;
//警惕(“我在别的地方”);
}
}

这也可以使用来完成,但我对它的了解非常有限。

我认为在您的案例中,脚本执行在实际元素创建之前就被调用了

<body>
<!--####### Free Shipping Start ##############-->
<div id="free_shipping">
</div>
<!--Free Shipping End-->
<!--####### Sale Start ####### -->
<div id="sale">
</div>
<!--Sale End-->
</body>

<script type="text/javascript">
var myaddr = location.host;
if(myaddr  == "abc.xy.com")
{
document.getElementById('free_shipping').style.display="visible"; 
document.getElementById('sale').style.display="visible"; 
//alert("I am in if");
}
else{
document.getElementById('free_shipping').style.display="none"; 
document.getElementById('sale').style.display="none"; 
//alert("I am in else");
}
</script>

var myaddr=location.host;
如果(myaddr==“abc.xy.com”)
{
document.getElementById('free_shipping').style.display=“visible”;
document.getElementById('sale').style.display=“可见”;
//警惕(“我在if”);
}
否则{
document.getElementById('free_shipping').style.display=“无”;
document.getElementById('sale').style.display=“无”;
//警惕(“我在别的地方”);
}

应该可以解决您的问题,同时检查这个-

我认为在您的情况下,脚本执行在实际元素创建之前就被调用了

<body>
<!--####### Free Shipping Start ##############-->
<div id="free_shipping">
</div>
<!--Free Shipping End-->
<!--####### Sale Start ####### -->
<div id="sale">
</div>
<!--Sale End-->
</body>

<script type="text/javascript">
var myaddr = location.host;
if(myaddr  == "abc.xy.com")
{
document.getElementById('free_shipping').style.display="visible"; 
document.getElementById('sale').style.display="visible"; 
//alert("I am in if");
}
else{
document.getElementById('free_shipping').style.display="none"; 
document.getElementById('sale').style.display="none"; 
//alert("I am in else");
}
</script>

var myaddr=location.host;
如果(myaddr==“abc.xy.com”)
{
document.getElementById('free_shipping').style.display=“visible”;
document.getElementById('sale').style.display=“可见”;
//警惕(“我在if”);
}
否则{
document.getElementById('free_shipping').style.display=“无”;
document.getElementById('sale').style.display=“无”;
//警惕(“我在别的地方”);
}

如果要解决您的问题,请检查此项-

欢迎您@swapnesh,祝您项目的其余部分好运:-)欢迎您@swapnesh,祝您项目的其余部分好运:-)