2015-12-16 200 views
0

在页面加载时我想使默认选择1D首先L1标签如何点击在这种情况下

我已经试过这样

$(document).ready(function() { 

$("ul.menu li a:first").click(); 
}); 

$("ul.menu li").click(function() { 
    var tabclicked = $(this).find("a").attr("href"); 
    alert(tabclicked); 
}); 

但是你能告诉我为什么警报不显示?

这是我的小提琴

https://jsfiddle.net/gr1L23us/3/

+0

你是不是在任何地方调用点击事件之前。 'click()'只是在发生点击时绑定一个事件,而不是模仿实际的点击。 – hannebaumsaway

回答

2

这样来做:https://jsfiddle.net/gr1L23us/5/

$(document).ready(function() { 
    $("ul.menu li a").click(function() { 
    var tabclicked = $(this).attr("href"); 
    alert(tabclicked); 
    }); 

    $("ul.menu li:first-child a").click(); 
}); 
  1. 变化事件监听器函数的位置(这是一个与警报),并且随后事件
  2. 使用:first-child作为上的选择器
  3. 变化click事件触发上<a>

另一种可能的应用将是jquery方式:https://jsfiddle.net/gr1L23us/8/

$(document).ready(function() { 
    $("ul.menu li a").click(function() { 
    var tabclicked = $(this).attr("href"); 
    alert(tabclicked); 
    }); 

    $("ul.menu li").first().find('a').click(); 
}); 

使用.first()选择第一个<li>.find()去deeoper在<a>的链接里面点火click

1

将文档准备调用中的点击功能,$("ul.menu li a:first").click();之前。

$(document).ready(function() { 
    $("ul.menu li").click(function() { 
    var tabclicked = $(this).find("a").attr("href"); 
    alert(tabclicked); 
    }); 
    $("ul.menu li a:first").click(); 
}); 

jsFiddle example

1

你可以触发点击第一个里,但李click事件之后,你应该做的触发不是

$(document).ready(function() { 
    $("ul.menu > li").click(function() { 
    var tabclicked = $(this).find("a").attr("href"); 
    alert(tabclicked); 
    }); 
    $("ul.menu > li:first").trigger('click'); 
}); 

Working Demo