javascript null有问题吗

javascript null有问题吗,javascript,Javascript,我已尝试更正下面的代码。但我无法找到解决办法。执行代码后,firebug说document.getElementByIdhaystack.value为null。我尝试了ifdocument.getElementByIdhaystack.value==null,但没有用。请帮帮我 var haystack=document.getElementById('city1').value; if(!document.getElementById(haystack).value) {

我已尝试更正下面的代码。但我无法找到解决办法。执行代码后,firebug说document.getElementByIdhaystack.value为null。我尝试了ifdocument.getElementByIdhaystack.value==null,但没有用。请帮帮我

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


haystack获得了城市的价值。当我尝试在haystack上发出警报-alerthaystack时,我得到了肯定的答复。但是当我尝试使用document.getElementByIdhaystack.value时,我得到了一个错误。不过有一件事,haystack获得的id为的元素可能存在,也可能不存在

再次编辑:


我想我会自杀的。我将城市作为输入元素的name属性,而不是id属性。很抱歉,坐在电脑前这么长时间让我失去了理智。但这不是浪费时间的借口。请接受我诚挚的歉意。感谢spender帮助我。

您正在尝试查找document.getElementById'city1'上的属性,该属性可能为空。请尝试以下方法:

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");
    }

}

您正在尝试查找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");
    }

}
您已经拥有haystack对象:

document.getElementById用于获取元素,您已经这样做了,并将其放置在haystack变量中。无需再次调用document.getElementById,并且此时调用不正确。阅读。

您已经拥有了haystack对象:


document.getElementById用于获取元素,您已经这样做了,并将其放置在haystack变量中。无需再次调用document.getElementById,并且此时调用不正确。请阅读。

不幸的是,您向我们展示了一些代码,并描述了一个错误,该错误看起来是被错误地转录的,而没有告诉我们您实际想要实现的目标

看看这个代码示例,它修复了代码的健壮性问题,并提供了更详细的警报消息,以明确检测到的内容

希望它能帮你解决问题

var haystack = document.getElementById('city1').value;
var haystack_element = document.getElementById(haystack);
if (haystack_element) {
    if (haystack_element.value) {
        alert("The element has a true value");
    } else {
        alert("The element has a false value, such as '' or 0");
} else {
    alert("No element with that name");
}

不幸的是,您向我们展示了一些代码,并描述了一个错误,看起来它被错误地转录了,而没有告诉我们您实际想要实现什么

看看这个代码示例,它修复了代码的健壮性问题,并提供了更详细的警报消息,以明确检测到的内容

希望它能帮你解决问题

var haystack = document.getElementById('city1').value;
var haystack_element = document.getElementById(haystack);
if (haystack_element) {
    if (haystack_element.value) {
        alert("The element has a true value");
    } else {
        alert("The element has a false value, such as '' or 0");
} else {
    alert("No element with that name");
}

以较少的行数进行:

if ((el = document.getElementById('city1')) && el.value) {
    alert ("not null");
} else {
    alert ("null");
}

以较少的行数进行:

if ((el = document.getElementById('city1')) && el.value) {
    alert ("not null");
} else {
    alert ("null");
}


不要解释你认为你可以如何解决你的问题,解释你的问题。什么是干草堆?你想实现什么?haystack获得了城市的价值。我在haystack alerthaystack上发出警报,我得到了肯定的答复。但是当我尝试使用document.getElementByIdhaystack.value时,我得到了一个错误。非常抱歉不完整。所以有一个id为city1的元素的值与DOM中另一个元素的id相对应?这就是你想要做的吗?那么,在haystack==florida的情况下,如果你还包括alertdocument.getElementByIdflorida==document.getElementByIdhaystack你看到了什么?不要解释你认为你可以如何解决你的问题,解释你的问题。什么是干草堆?你想实现什么?haystack获得了城市的价值。我在haystack alerthaystack上发出警报,我得到了肯定的答复。但是当我尝试使用document.getElementByIdhaystack.value时,我得到了一个错误。非常抱歉不完整。所以有一个id为city1的元素的值与DOM中另一个元素的id相对应?这就是你想做的吗?那么,在haystack=佛罗里达的情况下,如果您还包括alertdocument.getElementByIdflorida==document.getElementByIdhaystack行,您会看到什么?这仍然会报告该文档。getElementById'city1'为空-您需要在检查其值之前检查它。这仍然会报告该文档。getElementById'city1'为空-您需要在检查之前检查它检查其值。当然,但document.getElementById'city1'。如果DOM中没有此类元素,则该值将立即出错。是-您将得到一个异常,因为您取消了对null的引用。首先检查元素是否存在是最好的。无注释的向下投票。给下投票者:因此鼓励下投票者留下评论。当然,但是document.getElementById'city1'。如果DOM中没有这样的元素,则值将立即出错。是-您将得到一个异常,因为您取消了对null的引用。首先检查元素是否存在是最好的。无注释的向下投票。给下层选民:所以鼓励下层选民发表评论。