查找父类和id

时间:2010-05-20 03:10:07

标签: javascript jquery javascript-events jquery-selectors

经过无数次的尝试,我无法完成这项工作?

<script type="text/javascript">
    $("td input").focusout(function() {
      var column = $(this).parent('td').attr('class');
      var row = $(this).parent('tr').attr('id');
      $('#dat').HTML(row+" "+column);
    }); 
</script>

html看起来像这样

<tr class="numbers" id="1">
<td class="a" align="right">1</td>
<td class="b"><input class="input" type="text" value=""/></td>
<td class="c"><input class="input" type="text" value=""/></td>

<td class="d"><input class="input" type="text" value=""/></td>
<td class="e"><input class="input" type="text" value=""/></td>
<td class="f">0</td>
<td class="g"><input class="input" type="text" value=""/></td>
</tr>

任何人都可以指出我可能出错的正确方向吗? 提前谢谢

问候

4 个答案:

答案 0 :(得分:2)

请注意,它应该是小写的

$('#dat').HTML(row+" "+column);

.html

$(this).parent('tr')

为null,输入不能有父TR

另外,你可以使用

.closest( selector, [ context ] ) function

答案 1 :(得分:0)

尝试:

$(this).closest('td').attr('class')

在您的代码中的适当位置。 ID同样如此。

答案 2 :(得分:0)

您的代码大部分都是正确的,只需修复这些内容:

$('#dat').HTML(row+' ' +column);

对此:

$('#dat').html(row + ' ' + column);

而且:

$(this).parent('tr').attr('id');

对此:

$(this).parents('tr').attr('id');

答案 3 :(得分:0)

您想使用.parents()功能而不是.parent()

原因,从文档中,我的突出显示。

  

给出一个代表的jQuery对象   一组DOM元素,.parent()   方法允许我们搜索   DOM中这些元素的父母   树并构造一个新的jQuery对象   来自匹配元素。的的   .parents()和.parent()方法是   类似,只有后者才有   在DOM上单一级别旅行   树