1
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。有人可以告诉我这是怎么做到的吗?谢谢!

4

4 回答 4

5

a是一个元素 - 你想要内容吗?

如果这是 HTML 标记,请尝试textContent或(对于 IE innerText):

alert(a.textContent);

或等价物(对于文本节点)nodeValue

alert(a.nodeValue);

如果a是表单元素(inputtextarea...),请使用以下value属性:

alert(a.value);
于 2011-05-27T14:12:13.073 回答
5

在您的情况下,a 是 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");
}
}
于 2011-05-27T14:13:16.173 回答
1

那是因为a包含一个Element. 要获取该html元素的 ,请执行a.innerHtmlor a.innerText

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

if (a == "$1,599.00"){
    alert(a);
}
else {
    alert("$1,499.00");
}
于 2011-05-27T14:13:49.247 回答
0

我认为 Senad 和 Mohamed 都是正确的,但他们都假设了两件不同的事情。Sena 假设 product_container15 是一个输入,而 Mohamed 假设它是一个容器元素,如“”。

所以,如果 product_container15 是一个“输入”元素,那么只值我的 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");
}
于 2011-05-27T14:33:55.790 回答