选择<li>中的任意位置并按其中的链接</li>

时间:2011-04-26 16:25:00

标签: javascript

我有一个几乎没有<li>的div。

使用javascript是否可以点击<li> \ list中的任何位置,它实际上是否点击了列表中的链接?

这是一个小提琴,我的意思是一个工作的例子: http://jsfiddle.net/3eLfM/

谢谢

5 个答案:

答案 0 :(得分:3)

#div1 a {
    display: block;
    /* Other styles */
}

答案 1 :(得分:1)

通过CSS轻松完成,只需让A元素占据LI的整个内部空间:

#div1 a {
 display: block;
}

答案 2 :(得分:0)

查看jQuery的.click()事件

例如:

$('.li').click(function(event){ ...navigate to link here });

答案 3 :(得分:0)

使用纯粹,不引人注目的Javascript:

window.onload = function() {
    var listItems = document.getElementById("div1").getElementsByTagName("li");
    var numItems = listItems.length;
    for (var i = 0; i < numItems; i++) {
        listItems[i].onclick = clickLink;
    }
};

function clickLink() {
    var links = this.getElementsByTagName("a");
    if (links[0]) {
        window.location = links[0].href;
    }
}

See it in action

答案 4 :(得分:0)

为什么不直接制作&lt; li&gt;的整个主体。是链接?

如果你真的需要这样做,当然,你可以编写一个接受节点作为参数的Javascript函数,扫描节点以获取链接标记,然后重定向到该链接。然后你可以在调用这个函数的li标签上放一个onclick参数。但为什么?如果你想让li的整个主体成为一个链接,那么就要让li的整个主体成为一个链接。如果您不喜欢链接的显示方式,请使用CSS更改外观。在寻找一个难以做同样事情的事情之前,我总是选择以简单的方式做事。如何在不使用汽车或飞机的情况下在不到两个小时内行驶100英里?我不知道,我确定有办法,但我的第一反应是,为什么我不能用汽车或飞机?