有javascript null的问题

use*_*242 1 javascript

我已经尝试纠正下面的代码.但我无法找到解决方案.执行代码后,firebug说"document.getElementById(haystack.value)为null".我试过if(document.getElementById(haystack).value ==null)但是没用.请帮帮我.

     var haystack=document.getElementById('city1').value;
 if(!document.getElementById(haystack).value)
 {
   alert("null");
 }
 else
 {
   alert("not null");
 }
Run Code Online (Sandbox Code Playgroud)

编辑:

干草堆获得了城市的价值.当我在haystack -alert(haystack)上尝试"警报"时,我得到了肯定的答复.但当我尝试使用"document.getElementById(haystack).value"时,我收到一个错误.但有一点,干草堆获取的id元素可能存在也可能不存在.

再次编辑:

我觉得生病会自杀.我把city作为输入元素的name属性而不是id属性.对不起,但坐在电脑前这让我心烦意乱.但浪费你的时间并不是理由.请接受我诚挚的歉意.谢谢花钱帮助我.

spe*_*der 7

您正在尝试查找document.getElementById('city1')可能为null 的属性.试试这个:

var haystackElement=document.getElementById('city1');
if(!haystackElement)
{
    alert("haystackElement is null");
}
else
{
    alert("haystackElement is not null");
    var haystack=haystackElement.value;
    if(!haystack)
    {
        alert("haystack is null");
    }
    else
    {
        alert("haystack is not null");
    }

}
Run Code Online (Sandbox Code Playgroud)

  • 是的 - 您将获得异常,因为您取消引用了null.首先检查元素是否存在是最好的. (2认同)