我有一个div,通过这个定义。想象一下,它是下面的var div:
<td itemid='desired number'>
<div>div 1</div>
<div class="action">div 2</div>
</td>
鉴于var div,我如何计算包含它的td的itemid属性。注意,我不想要一个直接访问itemid属性的解决方案,它需要包含div 2的itemid。
var div = $('.action')
我尝试过使用parent()但没有成功。
感谢。
答案 0 :(得分:3)
答案 1 :(得分:2)
您可以尝试使用parent()并指定要查找的内容,而不是使用.parent()
。
示例:
$(".action").parents("td") // will return the TD element
我使用parents()方法而不是parent(),因为parents()看起来更高层次, 而不只是直接的父母。
答案 2 :(得分:2)
如果您要使用自定义属性,则应该使用HTML5 data-*
属性,因此请改用data-itemid='desired number'
,然后使用.data()
而不是{{1函数来获取值。
HTML:
.attr()
jQuery的:
<td data-itemid='desired number'>
<div>div 1</div>
<div class="action">div 2</div>
</td>
答案 3 :(得分:1)
您是否尝试过使用div.closest('td')
?
答案 4 :(得分:1)
.parent()
应该没问题。
试试这个:
<html>
<head>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var div = $('.action');
console.log('HEP: ' + $(div).parent().attr('itemid'));
});
</script>
</head>
<body>
<table>
<tr>
<td itemid='desired number'>
<div>div 1</div>
<div class="action">div 2</div>
</td>
</tr>
</table>
</body>
</html>
答案 5 :(得分:0)
试试这个var itemID = $('.action').parent().attr('itemid');
答案 6 :(得分:0)
你提到你试过parent
,但没有一个不起作用的例子,并且我倾向于认为它应该有效,我可以建议:
var val = div.parent().attr('itemid');
答案 7 :(得分:0)
$('div.action').parents('td').attr('itemid')
;应该这样做。顺便说一句,该itemid属性无效。可能最好使用数据属性。
答案 8 :(得分:0)
尝试以下jQuery语句:
$("TD[itemid='desired number']:has(.action)")