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。有人能告诉我这是怎么做到的吗?谢谢!
答案 0 :(得分:5)
a
是一个元素 - 你想要内容吗?
如果这是HTML标记,请尝试textContent
或(对于IE innerText
):
alert(a.textContent);
或等效(对于文本节点)nodeValue
:
alert(a.nodeValue);
如果a
是表单元素(input
,textarea
等...),请使用value
属性:
alert(a.value);
答案 1 :(得分: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");
}
}
答案 2 :(得分:1)
那是因为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");
}
答案 3 :(得分: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");
}