自己写js代码如何获得到td标签下的文本值,我用了innerHTML获得的是所有的东西,比如td下还套了个span标签,我只想获得td下的文本,请问该如何获取?

解决方案 »

  1.   

    document.getElementById("xx").innerText();
      

  2.   


    alert(td.innerText || td.textContent)
      

  3.   

    document.getElementById("tdId").firstChild.nodeValue;
    要兼容所有浏览器,请使用标准的DOM
      

  4.   

    2楼一看都是错的innerText是个属性还加括号,up,兼容非ie
      

  5.   


    为什么不使用标准的DOM对象来获取?
      

  6.   


    为什么不使用标准的DOM对象来获取?用firstChild你能取对才怪了
      

  7.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Untitled Page</title>
    </head>
    <body>
            <table>
                <tr>
                    <td onclick="javascript:alert(this.firstChild.nodeValue);">
                        sdfjdslfjsld
                    </td>
                </tr>
            </table>
    </body>
    </html>
    不好意思,还真就怪了!
      

  8.   

    firstChild的确是标准的DOM对象,但是你很难保证取到的firstChild一定是个leaf节点,或许存在<td><span><div>abc</div></span></td>的情况。
    更确切的说,最好是循环拿所有子节点,并通过判断是否文本节点的方法来取所有文本内容。
      

  9.   

    var trs = document.getElementById('aa').getElementsByTagName("tr");
    //alert(trs.children[1].innerText);
    for (var i=1;i<trs.length;i++) {
    //alert("====>"+trs[i].children[0].innerText);
    //alert(trs[i].children.length);
    var ctd = trs[i].children.length;
    for(var j=0;j<ctd;j++){
    alert(trs[i].children[j].innerText);
    }
    }
      

  10.   

    if(document.getElementById("tdId").textContent) {
        alert(document.getElementById("tdId").textContent);
    }
    else {
        alert(document.getElementById("tdId").innerText);
    }