我在页面上有一个标记链接,该链接是从带有id的数据库生成的。我想要做的是在警告框中显示标签内的文字。
我试过去看看我是否能看到上一个问题,我已经提出了以下问题,但我在警报框中得到的只是对象HTMLCollection
我有以下代码:
<a id="bet" onclick="addSlip();" class="btn btn-round" style="text-align: left;">'.$home->one.' <span>'.$home->two.'</span></a>
和...
function addSlip() {
document.getElementById('bet').innerHTML=bet;
alert(bet);
}
感谢任何有建设性的答案
答案 0 :(得分:1)
您应该执行以下操作
function addSlip() {
var bet = document.getElementById('bet').textContent;
alert(bet);
}
其余的原样。
或使用jquery
function addSlip() {
var bet = $("#bet").text()
alert(bet);
}
您的程序的主要问题是警报变量没有值。 (未定义) 如果变量下注具有值,您编写它的方式会将a标记的innerHTML更改为该值。 现在使用innerHTML或textContent部分。如上所述here在性能方面,textContent更好
答案 1 :(得分:0)
在您的情况下,alert会仅为您提供HTML Object Collection。
当你有一个带id的元素时,你可以在javascript
的任何地方访问它们e.g。对于以下HTML
<div id="bet">This is a div </div>
JS中的
alert(bet);
将为您提供html对象集合。
您的解决方案是更新您的代码
function addSlip() {
document.getElementById('bet').innerHTML=bet;
alert(bet);
}
到
function addSlip() {
alert( document.getElementById('bet').innerHTML);
}
如果div中也有一些html元素,你可以用
更新函数function addSlip() {
alert(document.getElementById('bet').textContent);
}
答案 2 :(得分:0)
您需要撤消bet
的变量分配:
function addSlip() {
var bet = $("#bet").text();// or $("#bet").html() if you want the HTML alerted
alert(bet);
}