繁体   English   中英

仅<a>在带有div的div中</a>选择

[英]Select only <a> inside div with js

如何使用JavaScript在此代码中选择1st a? (href = some.php)

<div class="accordionButton"><div id="acr_btn_title"><a href="some.php"><p>stuff</p></a></div><div class="hn_little_box"></div></div>
            <div class="accordionContent" >
                <ul>
                    <li><a href="page_01">Page 01</a></li>
                    <li><a href="page_02">Page 02</a></li>
                    <li><a href="page_03">Page 03</a></li>
                </ul>
        </div>

<a> ,以便在单击<a>时不执行JavaScript。 这是针对手风琴侧导航的,因此单击时手风琴不会展开,但仍会告诉浏览器转到该页面。

我在想这样的事情:

 <script type="text/javascript">
  $('#acr_btn_title a').click(function() {
      return false;
  });
  </script>

但这会停止链接的工作。 我只是想停止JavaScript,而不是停止<a>的功能!

在此处输入图片说明

您非常接近,但是如果只想要第一个,请使用:first选择器:

$('#acr_btn_title a:first').click(function() { 
    return false; 
});

我建议您使用preventDefault()stopPropagation()而不要return false

$('#acr_btn_title a:first').click(function(e) { 
    e.preventDefault();
    e.stopPropagation();
});

请注意,您无法确保在单击链接时无法调用JavaScript。 但是,您可以做的是将链接逻辑添加到click事件中,但是要避免使用默认值:

$('#acr_btn_title a:first').click(function(e) { 
    e.preventDefault();
    e.stopPropagation();

    //Your javascript goes here

    location.href = $(this).prop('href');
});

您也可以将手风琴逻辑(如果你控制它)上的任何东西,但使用的第一个gt()

$('#acr_btn_title a:gt(0)').accordionPlugin();

或使用href属性设置为例如a元素进行引用。 #

$('#acr_btn_title a[href!=#]').accordionPlugin();

由于您使用的是jQuery,请尝试$($("#acr_btn_title a")[0])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM