我有一个 div,我想要扩展/收缩(链接除外)。我有以下代码,它可以工作但没有异常。确保 div“expandablediv”中的所有元素和区域都与 jquery 一起展开/收缩的最有效方法是什么,元素除外。
$("#expandablediv").click(function () {
if ($("#withinexpandlediv").is(":hidden")) {
$("#withinexpandlediv").fadeIn(50);
}
else {
$("#withinexpandlediv").fadeOut(50);
}
});
HTML 代码:
<div id="expandablediv" >
<div class="ddImage">
<img src="rightArrow.png" alt="Title">
</div>
<div class="ddText">
Title
</div>
<div id="withinexpandlediv" >
Text contains one or more <a href="mailto:email@links.com"> email links.</a>
</div>
</div>
最佳答案
如果您不想让链接触发切换,请使用 event.target.nodeName :
$("#expandablediv").click(function (e) {
if (e.target.nodeName == "A") { return; }
//if ($(e.target).is('a')) { return; } // also works
if ($("#withinexpandlediv").is(":hidden")) {
$("#withinexpandlediv").fadeIn(50);
}
else {
$("#withinexpandlediv").fadeOut(50);
}
});
关于javascript - 检查单击的元素类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17797038/