Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何单击自给自足的<;a>;一个<;李>;?_Javascript_Jquery - Fatal编程技术网

Javascript 如何单击自给自足的<;a>;一个<;李>;?

Javascript 如何单击自给自足的<;a>;一个<;李>;?,javascript,jquery,Javascript,Jquery,以下是我尝试过的JS: $('#footer').find('.browse li').click(function(e){ $(this).find('a').click(); }); 下面是有问题的HTML: <div id="footer" class="span-24"><div class="footer-box"><div class="footer-holder"> <div class="

以下是我尝试过的JS:

$('#footer').find('.browse li').click(function(e){
            $(this).find('a').click();
        });
下面是有问题的HTML:

<div id="footer" class="span-24"><div class="footer-box"><div class="footer-holder">
    <div class="browse">
        <ul>
           <li><a href="xyz">123</a></li>
           <li><a href="xyz">123</a></li>
           <li><a href="xyz">123</a></li>
           <li><a href="xyz">123</a></li>
        </ul>
    </div>
</div></div></div>

如果单击了
  • ,如何使
    单击


    PS.这是由于css设计(LI有一堆填充和背景,不能放在a上)

    您是否只是缺少了
    a
    的单击事件?例如:

    $('.browse li').click(function(e){
                $(this).find('a').click();
            });
    
    $('a').click(function(){
       alert("a clicked");
        return false;
    });
    
    看这把小提琴:

    另一方面,如果您只是尝试重定向到href,请尝试以下代码:

    $('.browse li').click(function(e){
                window.location.href = $(this).find('a').attr('href');
            });
    

    请不要将事件处理程序附加到每个元素

    改用:

    制作

    .click()
    的调用只会触发绑定到
    a
    click
    事件的任何内容。我想你想要的是这样的:

    $('#footer').find('.browse li').click(function(){
       window.location = $(this).find('a').attr('href');
    }
    

    什么与您的代码不兼容?单击li不会激活a(转到a的链接)。我的意思是如何使其转到
    a
    的href?--i、 e.访问有效的
    xyz
    。如果有一种方法可以处理正常的点击链接,那就太棒了(以防
    a
    也将js绑定到它的点击上)。@user1049097,你可以使用
    $('a')。点击(函数(){
    code来自我的第一个示例,并将其与第二个示例中的
    窗口相结合。location.href
    来自我的第二个示例,以在
    a
    上执行单击事件。不确定您是否需要。这是可行的。如果有一种方法可以处理正常的单击链接,那么该链接将非常棒(以防该链接的单击也绑定了其他js)@user1049097如果这是一个问题,您可以继续像以前一样手动触发它~=)
    $(此)。查找('a')。单击().attr('href');
    $('#footer').find('.browse li').click(function(e){
        $(this).find('a').trigger('click');
    }); 
    
    $('#footer').find('.browse li').click(function(){
       window.location = $(this).find('a').attr('href');
    }