问题描述
|
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
或(对于IEinnerText
):
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,499.00\");
}
}
如果它是div,span或任何其他元素,则:
var a = document.getElementById(\"product_container15\").innerText;
if (a == \"$1,499.00\");
}