警报未在 JavaScript 中显示 getElementbyId

发布于 2024-11-10 03:01:31 字数 349 浏览 0 评论 0原文

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。有人可以告诉我这是如何完成的吗?谢谢!

function showPrice(){ 

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

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

This is returning $1,499.00 all the time. I know I'm doing this wrong, or maybe there is a whole different way to write this. I want the alert to show $1,599.00 if the id is "product_container15". If it's not then the alert will show $1,499.00. Could someone show me how this is done? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

凉栀 2024-11-17 03:01:31

在你的情况下 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");
}
}

in your case a is html object, so it will never be "$1,599.00" maybe you should try like this

function showPrice(){ 

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

if (a == "$1,599.00"){
alert(a);
}
else {
alert("$1,499.00");
}
}
谜兔 2024-11-17 03:01:31

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

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

alert(a.textContent);

或等效的(对于文本节点)nodeValue< /代码>

alert(a.nodeValue);

如果a 是一个表单元素(inputtextarea 等...),使用 value 属性:

alert(a.value);

a is an element - do you want the contents?

If this is HTML markup, try textContent or (for IE innerText):

alert(a.textContent);

Or the equivalent (for text nodes) nodeValue:

alert(a.nodeValue);

If a is a form element (input, textarea etc...), use the value property:

alert(a.value);
夜唯美灬不弃 2024-11-17 03:01:31

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

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

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

That's because a contains an Element. To get the html of that element, do a.innerHtml or a.innerText.

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

if (a == "$1,599.00"){
    alert(a);
}
else {
    alert("$1,499.00");
}
巡山小妖精 2024-11-17 03:01:31

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

所以,只要我的 2 美分,如果 Product_container15 是一个“输入”元素,那么:

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");
}

I think both Senad and Mohamed are correct but both of them are assuming 2 different things. Sena is assuming product_container15 is an input whereas Mohamed is assuming it is a container element like a "".

So, just my 2 cents worth, if product_container15 is an "input" element then:

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

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

If it is a div, span or any other element then:

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

if (a == "$1,599.00"){
    alert(a);
}
else {
    alert("$1,499.00");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文