getElementById有时会起作用,有时则不起作用

时间:2013-07-11 15:40:21

标签: javascript html windows-8

我正在开发一个小型的Windows 8应用程序,我有这个非常烦人的问题。首先是HTML:

<h2 id="name" class="article-title win-type-ellipsis" data-win-bind="textContent: title"></h2>
<h4 id="price" class="article-subtitle" data-win-bind="textContent: price"></h4>

这是JavaScript:

order.addEventListener("click", function (e) {
    Data.add(document.getElementById("price").innerText);
    var name = document.getElementById("name").innerText;
    var msg = Windows.UI.Popups.MessageDialog(name + " added.");
    msg.showAsync();
});

JavaScript在获取“price”元素时正常工作但由于某种原因决定在获取“name”元素时不起作用,我只得到“添加”消息。

没有其他元素的ID“name”,我完全不知道为什么这不起作用。

编辑:在我提供的代码中,为什么HTML标记都为空,似乎有些混乱。我绑定了另一个JavaScript文件中的文本以及所有可用的文本,因为当我运行应用程序时,这些标签中有文本,唯一的问题是由于某种原因我能够抓住price元素,但不是name元素。

2 个答案:

答案 0 :(得分:0)

在这种情况下,内部文本是html标记之间的内容。由于您没有内部文本,因此消息无法显示任何内容。

答案 1 :(得分:0)

尝试以下HTML:

<h2 id="name" class="article-title win-type-ellipsis" data-win-bind="textContent: title"></h2>
<h4 id="price" class="article-subtitle" data-win-bind="textContent: price">0.00</h4>