如何在运行时提供元素时在javascript中获取innerText?

时间:2014-05-30 08:45:28

标签: javascript html

我正在尝试获取元素的innerText,但它正在返回undefined

代码:

 <td id="some-id"><obs conceptId="3156" style="textarea"/>(this one here inserts the span element)</td>

在运行时生成html:

 <td id="some-id"><span class="value">14</span></td>

我尝试使用document.getElementById("some-id").innerText结果为undefined。 我尝试使用document.getElementById("some-id").innerHTML结果<span class="value">14</span>。我想得到值14。

3 个答案:

答案 0 :(得分:2)

<强> Demo Fiddle
的Javascript

var td = document.getElementById('some-id');
alert(td.getElementsByTagName('span')[0].innerHTML);  

关于innerText的问题,它仅适用于IE,据我所知,Firefox和Chrome使用textContent

<强> Fiddle with textContent

希望它有所帮助.. !!

答案 1 :(得分:1)

  

我认为我的目标是为什么它返回未定义的范围。在运行期间插入Span,如何更深入地获取值14。

看看这个:http://jsfiddle.net/8sr2D/1/

如果

<table>
  <td id="some-id"><span class="value">14</span></td>
</table>

永远是这种情况,然后我想:

function getValueForTd(id) {
    var element = document.getElementById(id);
    var span = element.childNodes[0];

    if(span !== undefined) {
        var value = span.innerText;
        return value;
    }   

    return false;
}

应该为你提供价值。

答案 2 :(得分:-1)

试试这个,

document.getElementsByTagName(&#34;跨度&#34;)[0] .innerHTML