Javascript 使用jquery如何获取父LI,其中LI';s文本与我的按钮文本匹配吗?
当我点击按钮时,我想从列表中抓取li,然后触发一个事件,就像我点击了li本身一样。换句话说,我正在尝试从按钮启动菜单上的单击事件 下面的代码返回的是document对象,而不是父LI 笔在这里:Javascript 使用jquery如何获取父LI,其中LI';s文本与我的按钮文本匹配吗?,javascript,jquery,html,Javascript,Jquery,Html,当我点击按钮时,我想从列表中抓取li,然后触发一个事件,就像我点击了li本身一样。换句话说,我正在尝试从按钮启动菜单上的单击事件 下面的代码返回的是document对象,而不是父LI 笔在这里: $(“#切换按钮”)。打开('单击',函数(){ var text=$(this.text(); var myLI=$('dl-menu-li a span:contains(text)').parent().parent(); console.log(myLI); //$(myLI.trigger(
$(“#切换按钮”)。打开('单击',函数(){
var text=$(this.text();
var myLI=$('dl-menu-li a span:contains(text)').parent().parent();
console.log(myLI);
//$(myLI.trigger('click.dl menu');
});代码>
生物
您的逻辑就快到了,只需将文本
变量的值连接到选择器中,然后引发单击事件:
$(“#切换按钮”)。打开('单击',函数(){
var text=$(this.text();
var$myLI=$(`.dl-menu-li-a-span:contains(${text})`);
$myLI.click();
});
$('li')。单击(函数(){
log(`您单击了${$(this.text()}元素`);
});代码>
生物
$(“#切换按钮”)。打开('click',函数(事件){
var text=$(this.text().trim();
var$industry=$('ul.menu li[data industry=“”+text+”);
$($industry.trigger('click.menu');
});
此.$menuitems.on('click.menu',function(){
//幻灯片菜单代码
}
生物
实验室
航空的
谢谢Rory,但这并不是我想要实现的,我不认为如果你告诉我怎么做,我可以帮你,谢谢Rory,但不是我想要实现的,我不认为。我对你所说的连接文本值的意思有点困惑。你指的是绑定${text}的表达式吗?我还需要触发一个已经存在的自定义点击事件。您指的是绑定${text}的表达式吗
没错。您的代码最初是在字面上查找单词text
,而不是text
中包含的值。自定义单击事件是如何定义的?理论上,您只需将单击()
更改为触发器('Your-custom-event-name-here'))
好的,谢谢,让我试试触发这个。我在想,如果我控制台.log($myLI),我会得到 。这正是我真正需要的。我有dl菜单设置,我正在尝试从该菜单外触发一个单击事件。
$('#switch button').on('click', function (event) {
var text = $(this).text().trim();
var $industry = $('ul.menu li[data-industry="'+text+'"]');
$($industry).trigger('click.menu');
});
this.$menuitems.on('click.menu', function(){
// slide menu code
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul class="menu">
<li data-industry="aero"><a href=""><span>aero</span></a></li>
<li data-industry="bio"><a href=""><span>bio</span></a></li>
<li data-industry="lab"><a href=""><span>lab</span></a></li>
</ul>
<br /><br /><br />
<div id="switch">
<button>bio</button>
<button>lab</button>
<button>aero</button>
</div>