也许像
$('div[id^=Item_] div.text');
或者
$('div[id^=Item_] a.Link');
回应您的编辑
试试这个
function call(e) {
// Find the inner anchor
var theAnchor = $('div[id=Item_' + e + '] div.text').find('a.cancel');
}
您在调用或 jQuery 代码中缺少下划线,因此它正在寻找具有 ID 的 div
Item23
而不是身份证
Item_23
这是一个 JSFiddle,它演示了在单击另一个链接时获取取消链接。
http://jsfiddle.net/PyDKg/14/
正如@undefined 所建议的,您不需要内联javascript 调用,因为您使用的是jQuery。我稍微改变了函数,所以它只获取父 ID 并将整个 ID 作为参数发送。
HTML
<div id="Item_23">
<div class="Info">
<a class="Link" href="#">Link</a>
<div class="text">
<a class="cancel" href="cancel.asp" data-val="Yay got it!">Cancel</a>
</div>
</div>
</div>
JS
$(document).ready(function(){
$('a.Link').click(function(){
var id = $(this).parents('div[id^=Item_]').attr('id');
callAnchor(id);
});
});
function callAnchor(e) {
// Find the inner anchor
var theAnchor = $('div[id=' + e + '] div.Info div.text').find('a.cancel');
// Print the data-val attribute to prove that it was found.
alert($(theAnchor).attr('data-val'));
}