我需要得到基于tr id的第二个td span值,我怎么能得到它?

时间:2014-03-19 15:35:31

标签: javascript jquery

我需要根据tr id

获得第二个td span值

`

            <table><tr id="1">
            <td style="width:150px;"><span id="1">C </span></td>
            <td><span style="width:800px;">hello world</span></td>
            <td><input type="checkbox" name="1" onclick="KeywordText(1);" value="1"></td>
            </tr>
            <tr id="2">
            <td style="width:150px;"><span id="2">Dot Net </span></td>
            <td><span style="width:800px;">Dot Net,java,cobol,hai,Dot Net,java,cobol,hai,Dot Net,java,cobol,hai,Dot Net,java,cobol,hai</span></td>
            <td><input type="checkbox" name="2" onclick="KeywordText(2);" value="2"></td>
            </tr></table>

4 个答案:

答案 0 :(得分:3)

这假设你想要第二个跨度

JavaScript的:

var row = document.getElementById("rowId");
var spans = row.getElementsByTagName("span");
var secondSpan = spans[1];

jQuery的:

var secondSpan = $("#rowId span:eq(1)");

你想要第二个表格单元格内的跨度

JavaScript的:

var row = document.getElementById("rowId");
var cells = row.getElementsByTagName("td");
var spans = cells.getElementsByTagName("span");
var secondSpan = spans[0];

或使用querySelector

var span = document.getElementById("rowId").querySelector("td + td > span");

jQuery的:

var secondSpan = $("#rowId td:eq(1) span");

跨度没有价值,无论是html还是文本。

JavaScript:

var text = secondSpan.innerHTML;

jQuery的:

var text = secondSpan.html();  // or secondSpan.text();

答案 1 :(得分:0)

使用jQuery:

 var getvalue=$(this).closest('tr').find('td:eq(1) span').val();
 alert(getvalue);

答案 2 :(得分:0)

function KeywordText(id) {
  var td = document.getElementById(id).cells[1];

  console.log(td.firstChild.innerHTML); // "hello word" if id == 1
}

示例:http://jsfiddle.net/n2t4Z/

答案 3 :(得分:0)

严格地说,你可以这样做:

getSpanValueByRowId(1);

function getSpanValueByRowId(rowID) {
    var row = document.getElementById(rowID);
    var cells = row.getElementsByTagName("td");

    var span = cells[1].getElementsByTagName("span")[0];

    return span.innerText;
}

虽然您可以使用jQuery来获取它,但它看起来像这样:

function getSpanValueByjQuery(rowID){
    return $("#"+rowID + " td:nth-child(2) span").text();
}