jquery的应用,点击 li标签触发a跳转,点击相同的li两次报错

<script>$(function(){$("ulli").click(function(){varobj=$(this).children("a");window.l... <script>
$(function(){
$("ul li").click(function(){
var obj = $(this).children("a");
window.location.href=$(obj[0]).attr("href");
});
})
</script>
点击 li标签触发a跳转,比如有五个li,点击第二个li跳转了,再点这个就会出错网址后加一个undefined。
展开
 我来答
thedragon53
2019-09-09 · TA获得超过175个赞
知道小有建树答主
回答量:292
采纳率:76%
帮助的人:123万
展开全部
可能你第二次点击的不是li元素,而是li元素中的a标签,
无论点击li还是a,都是会触发你写的那个click事件的
你写的方法明显是必须点击li才可以,点击a就会报错了
正常a标签点击就是会跳转页面的,为什么还要写事件去支持出发它
如果你非要你那么写,click事件里面要首先判断 点击触发的是什么元素,
通过 event.target||event.srcElement获取,判断如果是li执行你上面写的代码,如果是a,你就重新写下逻辑。
追问

这是用着dede调用的分页上面的,li比a大,所以有时候点击不到a上。

不触发li的话,a的数字太小,点击范围太小。加了触发,假如点击2,跳转到2,。再点击一次2,就是www.xxx.com/undefined。浏览器报错地址错了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式