Javascript 检查单击的元素类型

Javascript 检查单击的元素类型,javascript,jquery,Javascript,Jquery,我有一个div,我想扩展/收缩,链接除外。我有下面的代码,它可以工作,但缺少异常。确保div“expandablediv”中的所有元素和区域使用jquery进行扩展/收缩(元素除外)的最有效方法是什么 $("#expandablediv").click(function () { if ($("#withinexpandlediv").is(":hidden")) { $("#withinexpandlediv").fade

我有一个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>

标题
文本包含一个或多个
类似

if(!$('#expandablediv').children().has('a')){
    // handle expandsion/contraction here
}
查看此链接了解更多详细信息:

类似

if(!$('#expandablediv').children().has('a')){
    // handle expandsion/contraction here
}

查看此链接了解更多详细信息:

如果您的意思是不希望链接触发切换,请使用:

节点名


is()

如果您的意思是不希望链接触发切换,请使用:

节点名

is()

您可以尝试以下方法:

$("#expandablediv").click(function () {
            if ($("#withinexpandlediv").is(":hidden")) {
                $("#withinexpandlediv").fadeIn(50);
            }
            else {
                $("#withinexpandlediv").fadeOut(50);
            }
}).find('a').click(function(e){
    e.stopPropagation();
});
您可以尝试以下方法:

$("#expandablediv").click(function () {
            if ($("#withinexpandlediv").is(":hidden")) {
                $("#withinexpandlediv").fadeIn(50);
            }
            else {
                $("#withinexpandlediv").fadeOut(50);
            }
}).find('a').click(function(e){
    e.stopPropagation();
});

你能发布这个动作的HTML吗?我做了一些我认为与您尝试做的事情类似的事情-但是您需要使用
高度
而不是
显示:无
(这是淡入淡出的效果)您是否尝试过
如果($(“#withinpenandlediv”).is(“div”){}
?添加了HTML,如果($(“#withinpenandlediv”).is(“div”)在逻辑上总是正确的,由#符号表示。因此,当用户单击div中的任何位置时,您希望整个内容折叠,但链接除外-这些链接应保持可见?请立即在HTML中查看它。标记帮助:)你能发布这个操作的HTML吗?我做了一些我认为与您尝试做的事情类似的事情-但是您需要使用
高度
而不是
显示:无
(这是淡入淡出的效果)您是否尝试过
如果($(“#withinpenandlediv”).is(“div”){}
?添加了HTML,如果($(“#withinpenandlediv”).is(“div”)在逻辑上总是正确的,由#符号表示。因此,当用户单击div中的任何位置时,您希望整个内容折叠,但链接除外-这些链接应保持可见?请立即在HTML中查看它。加价帮助:)