来自标签的javascript警报值

时间:2015-06-12 17:59:34

标签: javascript jquery

我在页面上有一个标记链接,该链接是从带有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);
}

感谢任何有建设性的答案

3 个答案:

答案 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);
}