警报未在javascript中显示getElementbyId

|
function showPrice(){ 

    var a = document.getElementById(\"product_container15\");

    if (a == \"$1,599.00\"){
        alert(a);
    }
    else {
        alert(\"$1,499.00\");
    }
}
这始终会返还$ 1,499.00。我知道我做错了,或者也许有一种完全不同的方式来编写此代码。如果ID为\“ product_container15 \”,我希望警报显示$ 1,599.00。如果不是,则警报将显示$ 1,499.00。有人可以告诉我这是怎么做的吗?谢谢!     
已邀请:
        在您的情况下,它是html对象,因此它永远不会是\“ $ 1,599.00 \”,也许您应该这样尝试
function showPrice(){ 

var a = document.getElementById(\"product_container15\").value;

if (a == \"$1,599.00\"){
alert(a);
}
else {
alert(\"$1,499.00\");
}
}
    
        
a
是元素-是否需要内容? 如果这是HTML标记,请尝试
textContent
或(对于IE
innerText
):
alert(a.textContent);
或等效项(对于文本节点)
nodeValue
alert(a.nodeValue);
如果
a
是表单元素(
input
textarea
等...),请使用
value
属性:
alert(a.value);
    
        那是因为
a
包含
Element
。要获得该元素的
html
,请执行
a.innerHtml
a.innerText
var a = document.getElementById(\"product_container15\").innerText;

if (a == \"$1,599.00\"){
    alert(a);
}
else {
    alert(\"$1,499.00\");
}
    
        我认为Senad和Mohamed都是正确的,但是他们都假设了两种不同的观点。 Sena假设product_container15是输入,而Mohamed假设它是类似\“ \”的容器元素。 因此,如果product_container15是一个“ input”元素,则仅值2美分:
var a = document.getElementById(\"product_container15\").value;

if (a == \"$1,599.00\"){
alert(a);
}
else {
alert(\"$1,499.00\");
}
}
如果它是div,span或任何其他元素,则:
var a = document.getElementById(\"product_container15\").innerText;

if (a == \"$1,599.00\"){
    alert(a);
}
else {
    alert(\"$1,499.00\");
}
    

要回复问题请先登录注册