我想在td内获得价值。我到底在做什么如下:
呈现的HTML代码:
<td>
<span style="padding-left: 15px;" onclick="GetAccountNodes(2,17,this);">-</span>
<span onclick="GetNodeDetails(2,17,this);"> Capital Accounts</span>
</td>
<td style="display:block">3.17.</td>
我的脚本如下:
function GetNodeDetails(levelId, parentGroupID, ele) {
var x = $(this).parent().next('td').html();
alert(x);
}
但它正在投掷&#34;未定义&#34;错误。 我在这里做错了什么?
我也尝试使用如下&#34;
$(this).parent('td').next('td').html();
但无济于事
答案 0 :(得分:3)
您的脚本应该是:
function GetNodeDetails(levelId, parentGroupID, ele) {
var x = $(ele).parent().next('td').html();
alert(x);
}
您将this
作为ele
参数传递给该函数。
答案 1 :(得分:0)
function GetNodeDetails(levelId, parentGroupID, ele) {
//debugger;
var x = $(ele).parent().next('td').html();
alert(x);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>
<span style="padding-left: 15px;" onclick="GetAccountNodes(2,17,this);">-</span>
<span onclick="GetNodeDetails(2,17,this);"> Capital Accounts</span>
</td>
<td style="display:block">3.17.</td>
</tr>
</table>
&#13;
注意:问题不包含Table和Tr标记内的Td标记。所以这里只是注释浏览器可能会删除tr标签或$(this).parent()
可能不会返回tr元素,最终你的函数将无法获得你想要在警报中显示的td元素的值。
答案 2 :(得分:0)
请在小提琴中查看此工作示例。
https://jsfiddle.net/YameenYasin/t3cjge55/10/
<script>
function GetNodeDetails(levelId, parentGroupID, ele) {
//debugger;
//var x = $(ele).parent().next('td').html();
alert($(ele).parent().next('td').html());
}
</script>
<table>
<tr>
<td>
<span style="padding-left: 15px;" onclick="GetAccountNodes(2,17,this);">-</span>
<span class="getNodeDetails" onclick="GetNodeDetails(2,17,this);"> Capital Accounts</span>
</td>
<td style="display:block">3.17.</td>
</tr>
</table>