我需要根据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>
答案 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
}
答案 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();
}