如何使用jQuery获取父ID?

时间:2016-01-13 11:28:44

标签: javascript jquery html html-table



$('td').click(function() {
  myId = $(this).parent().attr("id");
  myItem = $(this).text();
  alert('u clicked ' + myId);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
  <tr>
    <td>Computer</td>
  </tr>
  <tr>
    <td>maths</td>
  </tr>
  <tr>
    <td>physics</td></div>
  </tr>
</table>
&#13;
&#13;
&#13;

当我点击表格项目时,我想获得提醒'u clicked science',但我得到undefined

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:2)

  

id中没有markup个属性。您所处理的只是innerText

$('td').click(function() {

  var myItem = $(this).text();
  alert('u clicked ' + myItem);

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
  <tr>
    <td>Computer</td>
  </tr>
  <tr>
    <td>maths</td>
  </tr>
  <tr>
    <td>physics</td>
  </tr>
</table>

答案 1 :(得分:1)

您的标记无效。在最后一个结束标记之后添加额外结束div。你需要删除它。

您需要提醒的是元素的文本而不是父ID。使用.text()以及单击的td元素jquery context:

$('td').click(function(){
 myItem=$(this).text();
 alert('u clicked ' +myItem);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table>


<tr><td>Computer</td></tr>


<tr><td>maths</td></tr>

<tr><td>physics</td></tr>

</table>

答案 2 :(得分:0)

试试这个:

    $('td').click(function () {
        alert('u clicked ' + $(this).text());
    });

答案 3 :(得分:0)

正如我已经评论过,您在ID中遗失了tr。我为演示添加了更多td个。

&#13;
&#13;
$('td').click(function() {
  var myId = $(this).parent().attr("id");
  var myItem = $(this).text();
  alert('u clicked ' + myId);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
  <tr id="IT">
    <td>Computer</td>
  </tr>
  <tr id="General">
    <td>maths</td>
    <td>History</td>
  </tr>
  <tr id="Science">
    <td>physics</td>
    <td>Chemistry</td>
    <td>Biology</td>
  </tr>
</table>
&#13;
&#13;
&#13;