1

我让鼠标悬停工作以检索 ID。但是尝试使用 next() 来检索标题 attr (仅 title="01" )但由于某种原因它不起作用。我不确定我在这里缺少什么。

JS:

$(document).on('mouseover','tr[role="row"]',function(){
    var VId = $(this).next('[role="gridcell"]').attr('title');
    $('#TestPanelA').html(VId);
});

PHP(此表由 jqGrid 生成):

<tr role="row" id="1" tabindex="-1" class="jqgrow ui-row-ltr H0">
  <td role="gridcell" style="text-align: left; height: 16px;" title="01" aria-describedby="0Li_A">01</td>
  <td role="gridcell" style="text-align: right; height: 16px;" title="822" aria-describedby="0Li_C">822</td>
</tr>
4

3 回答 3

3

next方法用于检索下一个兄弟,因此您可以使用childrenfind方法与:first选择器或first方法:

$(document).on('mouseover','tr[role="row"]',function(){
    var VId = $(this).children('[role="gridcell"]:first').attr('title');
    $('#TestPanelA').html(VId);
});
于 2013-06-17T11:05:21.500 回答
1

next()是兄弟元素,你想要一个孩子,你可以使用children()

$(document).on('mouseover','tr[role="row"]',function(){
    var VId = $(this).children('[role="gridcell"]').first().attr('title');
    $('#TestPanelA').html(VId);
});
于 2013-06-17T11:04:54.430 回答
0

尝试这个 :

var VId = $(this).children('[role="gridcell"]').attr('title');

在事件处理程序中 $(this) 指的是 tr 而不是 td。因此,您需要通过儿童进行查找。

见小提琴

我希望它有所帮助。

于 2013-06-17T11:12:05.987 回答