我有以下HTML结构:
<div id="blah">
<ul style="...">
<li><a href="...">...</a></li>
</ul>
</div>
我有一个针对所有<a>
标记的jQuery选择器。不过,我想检查点击的<a>
是否是id="blah"
的子项。
这是我到目前为止所做的:
$(document).on('click', 'a', function(t) {
console.info($(this).text());
if($(this).parent() == 'blah'){
console.info('Yes, this link has the parent');
}
});
但是,if
永远不会成为现实,我无法检测链接何时具有指定的父级。我该如何正确地做到这一点?
答案 0 :(得分:8)
使用attr()
获取元素属性值
if($(this).parent() == 'blah'){
应该是
if($(this).parent().attr('id') == 'blah'){
$(document).on('click', 'a', function() {
console.info($(this).text());
if ($(this).parent().attr('id') == 'blah') {
console.info('Yes, this link has the parent');
}
return false; // To stop page redirection
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="blah">
<ul style="...">
<li><a href="...">...</a>
</li>
</ul>
</div>
您也可以使用
if($(this).parent().is('#blah'){
我想检查点击是否是id =“blah”的子项目。
if ($(this).parent('#blah').length) {
如果你想检查祖先
,这将检查直接父母if ($(this).closest('#blah').length) {