如何检查两个元素/div 是否属于同一父级?
您好,我正在为购物车编写这段代码
$('.addtoCart').click(function() {
//get button id
var cartID = $(this).attr("id");
//get check box id
var checkBoxID = $('input.cartLevelChecked:checked').attr("id");
//get parent id
var levelListID = $(this).closest('li').attr("id");
if(('#'+cartID && '#'+checkBoxID).parent('#'+levelListID)){
$(".selectPlan").show();
}
//alert(/*cartID + checkBoxID +*/ levelListID);
});
基本上我正在检查用户选中的复选框和他们单击的按钮是否属于同一个父级,然后显示一个 div
任何帮助将不胜感激。谢谢
Hi I am working on this piece of code for a shopping cart
$('.addtoCart').click(function() {
//get button id
var cartID = $(this).attr("id");
//get check box id
var checkBoxID = $('input.cartLevelChecked:checked').attr("id");
//get parent id
var levelListID = $(this).closest('li').attr("id");
if(('#'+cartID && '#'+checkBoxID).parent('#'+levelListID)){
$(".selectPlan").show();
}
//alert(/*cartID + checkBoxID +*/ levelListID);
});
Basically I'm checking to see if the check-box the user checked and button they clicked on belongs to the same parent then show a div
any help would be greatly appreciated. thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这应该有效:
This should work:
您需要将正确查询的
levelListID
与复选框最接近的 li 父级的 id 进行比较,您应该以相同的方式查询:You need to compare
levelListID
, which you correctly queried, to the id of the checkbox's closest li parent, which you should query the same way:你就快到了,如果父级是 cartID 和 checkBoxID 的直接父级,那么这应该可以工作:
you were almost there, this should work if the parent is the immediate parent of both cartID and checkBoxID:
您可以转到
父级并查看其中是否存在选中的元素,如下所示:
这使用
.closest()
转到父级然后使用
.find()
。然后我们只是检查.length
是否不为 0 (true
) 这意味着它发现了一个检查。You can just go up to the
<li>
parent and see if the checked element exists in there, like this:This uses
.closest()
to go the parent<li>
then looks inside for the checkbox using.find()
. Then we're just checking that the.length
isn't 0 (true
) which means it found one checked.