如何使用JavaScript在此代码中选择第一个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>
时这样做,JavaScript不会执行。这是一个手风琴侧导航,所以当它点击时,手风琴不会扩展,但仍然告诉浏览器转到该页面。
我在想这样的事情:
<script type="text/javascript">
$('#acr_btn_title a').click(function() {
return false;
});
</script>
但是这会阻止链接工作。
我只是希望JavaScript停止,而不是阻止<a>
正常运行!
答案 0 :(得分:6)
你非常接近,但如果你只想要第一个,请使用: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();
或引用a
元素 设置为href
元素。 #
:
$('#acr_btn_title a[href!=#]').accordionPlugin();
答案 1 :(得分:-2)
由于您使用的是jQuery,请尝试$($("#acr_btn_title a")[0])