2016-01-13 94 views
-1

如何使用jQuery获取父ID?

$('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>

当我点击表项我想警告'u clicked science'但我得到undefined

任何帮助,将不胜感激!

+0

尝试,警报( 'U点击' + myItem); – Ravneet

+2

为什么我在html中看不到任何'id's? – Rajesh

+0

请编辑您的问题以显示外部html - 您当前的代码不显示任何id属性或任何地方的字符串“science”。我想那包含在一个parenet元素中,但要回答我需要看到这个元素 – Steve

回答

2

您的markup中没有id属性。所有你面对的是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>

+0

'“你点击科学”'强烈表明有一个父元素没有在问题中显示。 “科学”没有出现在任何文本节点中,加上“计算机,数学和物理学”都可以被宽松地认为是科学领域,但最终是任何人的猜测,除非OP响应 – Steve

1

你有无效的标记。在最后的tr闭幕标记之后添加额外的闭合div。你需要删除它。

你需要提醒的是元素的文本,而不是父母的ID。使用.text()与点击td元素的jQuery上下文一起:

$('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>

0

试试这个:

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

正如我已经评论说,你缺少IDtr。我已经添加了几个td的演示。

$('td').click(function() { 
 
    var myId = $(this).parent().attr("id"); 
 
    var 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 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>