无法获得下一个td值

时间:2015-02-16 04:58:26

标签: javascript jquery

我想在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();

但无济于事

3 个答案:

答案 0 :(得分:3)

您的脚本应该是:

function GetNodeDetails(levelId, parentGroupID, ele) {
    var x = $(ele).parent().next('td').html();
    alert(x);
}

您将this作为ele参数传递给该函数。

答案 1 :(得分:0)

&#13;
&#13;
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;
&#13;
&#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>