如何从JS获取Span Tag中的值

时间:2012-06-29 18:21:28

标签: javascript html

我正在尝试使用HTML制作BMI计算器。输入来自文本字段。我在Javascript函数中用它们进行一些计算。我想在这样的范围内得到计算值:

<span id="" class="">Your Calculation Results is = </span>
<span id="" class="">   "" I want the result here ""    </span>

=============================================== ===================== 编辑:我要问的部分

<script language="javascript">
var bmi = document.getElementById("ID_bmiResult2").innerHTML;
bmi.value = weight / (heightInMeter * heightInMeter);
</script>

<body>
<span id="ID_bmiResult2">  </span>
</body>

我不知道怎么做...

6 个答案:

答案 0 :(得分:10)

修改:正如所指出的那样,FF不喜欢innerText,所以我要替换为innerHTML,在这种特殊情况下不会改变脚本的整体功能。

您可以获得第二个span并将值直接传递给innerHTML,如下所示:

document.getElementsByTagName('span')[1].innerHTML= 'the result';

注意:考虑使用和idclass,这样您就可以找到需要更改的确切元素,而不是检索该类型的多个元素(在本例中为{ {1}})。 如果你有一个span,就会这样:

id

Edit2 :此修改是在OP更改问题后进行的 现在我看到你的代码真的很混乱。 我写了this fiddle,所以你可以看到它正常工作

答案 1 :(得分:2)

如果你有一个像calcResult这样的变量,你可以这样做:

document.getElementById('spanId').innerHTML += calcResult;

当然,这只能运作一次。如果再次执行此操作,则跨度中将有两个结果。如果您希望能够在表单字段更改时更改结果,请尝试:

<span id="calc">Your calculation result = <span></span></span>

var result = 12;
document.getElementById('calc').getElementsByTagName('span')[0].innerHTML = result;

答案 2 :(得分:0)

您是否尝试过Jquery

$("span").next().text("Your Result");

OR

$("span").eq(1).text("Your Result");

要做更好的代码,请在组件中添加ID。

答案 3 :(得分:0)

您可以使用document.writeln获取结果。查看http://jsfiddle.net/CmVww/上的小提琴来玩它。以下是结果。

<div id="start">
<span id="one" class="sText">Your Calculation Results is = </span>
<span id="two" class="result">  
<script type="text/javascript">
var tst = 'I want the result here';
  document.writeln(tst);
</script>
</span>

答案 4 :(得分:0)

var bmi = weight / (heightInMeter * heightInMeter);
document.getElementById('ID_bmiResult2').innerHTML= bmi;

答案 5 :(得分:0)

用于计算javascript中的bmi

<script language="javascript">

    var Height = 0;
    var Weight = 0;
    var BMI = 0;
    function getTotalBMIScore() {

        Height = document.getElementById('MainContent_txtPDHeight').value;
        //alert(Height + 'Height');
        Weight = document.getElementById('MainContent_txtPDWeight').value;
        //alert(Weight + 'Weight')
        BMI = Weight / (Height * Height);

        BMI = BMI.toFixed(2);

        //alert(BMI + 'BMI');
        document.getElementById('BMIScore').innerText = BMI;


    }

</script>

//结束函数

//如果你从文本框中取出,你应该使用它  高度(米):

<asp:TextBox ID="txtPDHeight" onchange ="getTotalBMIScore()"   onKeyUp ="getTotalBMIScore()" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"  runat="server"></asp:TextBox>
<span>

体重(公斤):

<asp:TextBox ID="txtPDWeight" onchange = "getTotalBMIScore()"  onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"  onKeyUp ="getTotalBMIScore()" runat="server"></asp:TextBox>

//如果你想在span中显示使用这个BMI:

<span id="BMIScore"></span></span><br />