Javascript 使用2个或更多链接使DIV可单击

Javascript 使用2个或更多链接使DIV可单击,javascript,jquery,html,Javascript,Jquery,Html,我在使用jQuery时遇到了一些困难。我需要madiv或sectionclickable(向block元素添加链接),我已经实现了一些代码 $(document).ready(function() { $(".clickable").click(function(){ window.location=$(this).find("a.slide-link").attr("href"); return false; })

我在使用jQuery时遇到了一些困难。我需要ma
div
section
clickable(向block元素添加链接),我已经实现了一些代码

$(document).ready(function() {
        $(".clickable").click(function(){
            window.location=$(this).find("a.slide-link").attr("href");
            return false;
        });
    });
但是当该块有2个或更多链接时,该块中的链接无法正常工作。始终重定向到
a.slide-link
url

我怎样才能解决这个问题? 谢谢

更新

<section class="clickable">
    <div>
        <div class="description">
            <ul>
                <li>Lorem ipsum</li>
                <li>Lorem ipsum</li>
                <li>Lorem ipsum</li>
                <li>Lorem ipsum <a href="http://url1.com">here</a></li>
            </ul>
        </div>
        <a class="slide-link" href="http://url2.com">URL2</a>
    </div>
</section>

  • 同侧眼睑
  • 同侧眼睑
  • 同侧眼睑
  • 同侧眼睑

初始问题的初始答案

在多个匹配的情况下,$(this).find(“a.slide-link”)提供节点数组,因此,.attr不起作用

如果要重定向到第一个链接,请将代码更新为

$($(this).find("a.slide-link")[0])
更新问题的更新答案

由于事件冒泡,您在节中的锚将无法工作。供参考-

你要做的是阻止事件冒泡。为此,请将此添加到js中

$(".clickable a").click(function(event){
     event.stopPropagation();
});

您可以通过其href值
$(“a[href='www.myurl.com'”)

阅读有关选择器的更多信息。javascript使用与常规CSS相同的选择器。假定浏览器支持选择器。

如果只是您想在节中使用的链接,而不是单击节本身,那么您可以使用以下选项:

$(document).ready(function() {
    $(".clickable a.slide-link").click(function(){
        window.location=$(this).attr("href");
        return false;
    });
});
虽然只有当你计划做一些事情而不是简单地去那个地址时,在这种情况下,上面的代码与没有代码是一样的

如果您希望外部部分本身就是一个链接,那么最好也使用
标记,并将其设置为
display:block
。由于明显的原因,您不能将锚定标记嵌套在其他锚定标记中。

我找到了答案

$(".clickable").click(function( event ) {
  var target = $( event.target );
  if ( !target.is( "a" ) ) {
    window.location=$(this).data("link");
  }
}

你能显示你的完整代码吗,因为我没有完全理解这个问题。当用户点击
div
部分时,当它有超过1个链接时,你如何决定重定向到哪个链接?@Varun我已经更新了描述,要使其工作,他必须将
幻灯片链接
类添加到第一个链接。目前,它不会给他一个链接数组。它总是“重定向”到第二个链接的原因是因为这是唯一的目标链接。@NightOwlPrgmr-在回答问题时,没有添加任何标记,因此,我的答案是正确的,但是,添加标记后,我也必须查看我的答案。