为什么这段代码不能正常工作?如果有人选择ID为“1599”的内容,则会显示“$ 1,599.00”。如果ID不匹配,则警报应显示“$ 1,499.00”。但事实并非如此。有人可以帮我解决这个问题吗?
感谢
<html>
<script type="text/javascript">
function showPrice(){
var a = document.getElementById();
if (a == "1599"){
alert("$1,599.00");
}
else {
alert("$1,499.00");
}
}
<body>
<div class="hc_right">
<input type="button" class="spc" value="Price" onclick="showPrice()" />
<p class="price" id="1599">$1,599.00</p>
</div>
<div class="hc_right">
<input type="button" class="spc" value="Price" onclick="showPrice()" />
<p class="price" id="1499">$1,499.00</p>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
您需要让showPrice
知道要为其显示提醒的元素。目前,您实际上并未使用document.getElementById
选择任何内容(此时a
将为null
或undefined
。
有很多不同的方法可以做到这一点,但为了使它接近你当前的实现,我可能会做这样的事情:
<强> HTML 强>
<div class="hc_right">
<input type="button" class="spc" value="Price" onclick="showPrice(1599)" />
<p class="price" id="1599">$1,599.00</p>
</div>
<div class="hc_right">
<input type="button" class="spc" value="Price" onclick="showPrice(1499)" />
<p class="price" id="1499">$1,499.00</p>
</div>
</div>
<强>的Javascript 强>
function showPrice(a){
if (a == "1599"){
alert("$1,599.00");
}
else {
alert("$1,499.00");
}
return false;
}
<强> Fiddle here 强>
答案 1 :(得分:0)
我想如果添加一个,我会看到问题 警报(A); 在if(...)之前 - 我的猜测是你没有得到你期望的价值。
答案 2 :(得分:0)
document.getElementById()
方法接受要查找的ID的参数。类似的东西:
document.getElementById("1599")
并将返回具有该ID的文档元素。不确定没有参数传递时它会返回什么。