我尝试使用trigger
了很多次,但是无法正常工作。我希望在第二个li元素的菜单上自动触发。请帮帮我。
这是我的代码示例:
$("document").ready(function() {
setTimeout(function() {
$("ul.menuH li:nth-child(2) a").trigger('click');
},1000);
});
<div id="divMenu" class="drop">
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td width="65px" valign="top">
<a href="http://domain1.com">
<img src="../Images/home.png" width="63px" height="32px">
</a>
</td>
<td height="36px" width="100%" style="border: 0px; padding: 0px">
<ul class="menuH">
<li id="liCustomerOrders"><a id="RDSub" href="yahoo.com','')">
NEW BOOKING</a>
</li>
<li><a href="http://domain2.com">MY BOOKINGS</a></li>
<li><a href="http://domain3.com">BANK ACCOUNT DETAILS</a></li>
<li><a href="http://domain4.com">ORDER CANCELLATION</a></li>
<li><a href="http://domain5.com">VALIDITY EXTENSION</a></li>
<li>
<a href="#">MY ACCOUNT</a>
<ul>
<li><a href="http://domain6.com">CHANGE PASSWORD</a></li>
<li>
<a id="lnkLogOut" href="javascript:__doPostBack('ctl00$lnkLogOut','')">LOG OUT</a>
</li>
</ul>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
答案 0 :(得分:1)
您的代码正在运行。您还可以使用.click();
http://api.jquery.com/trigger/
要触发domain3.com,请创建一个单击函数以获取URL。
<script>
$("document").ready(function() {
$("ul.menuH li:nth-child(3) a").on( "click", function() {
var href = $(this).attr('href');
location.href= href;
});
setTimeout(function() {
$("ul.menuH li:nth-child(3) a").trigger('click');
},1000);
});
</script>
答案 1 :(得分:0)
来自jQuery文档:
.trigger():对于给定的事件类型,执行附加到匹配元素的所有处理程序和行为
为了解决您的问题,您需要更改以下内容:
$("ul.menuH li:nth-child(2) a").trigger('click');
原生.click():
$("ul.menuH li:eq(2) a").get(0).click();
setTimeout(function() {
$("ul.menuH li:eq(2) a").get(0).click();
},1000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="divMenu" class="drop">
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td width="65px" valign="top">
<a href="http://domain1.com">
<img src="../Images/home.png" width="63px" height="32px">
</a>
</td>
<td height="36px" width="100%" style="border: 0px; padding: 0px">
<ul class="menuH">
<li id="liCustomerOrders"><a id="RDSub" href="yahoo.com','')">
NEW BOOKING</a>
</li>
<li><a href="http://domain2.com">MY BOOKINGS</a></li>
<li><a href="http://domain3.com">BANK ACCOUNT DETAILS</a></li>
<li><a href="http://domain4.com">ORDER CANCELLATION</a></li>
<li><a href="http://domain5.com">VALIDITY EXTENSION</a></li>
<li>
<a href="#">MY ACCOUNT</a>
<ul>
<li><a href="http://domain6.com">CHANGE PASSWORD</a></li>
<li>
<a id="lnkLogOut" href="javascript:__doPostBack('ctl00$lnkLogOut','')">LOG OUT</a>
</li>
</ul>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>