Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery如何获取父LI,其中LI';s文本与我的按钮文本匹配吗?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jquery如何获取父LI,其中LI';s文本与我的按钮文本匹配吗?

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(

当我点击按钮时,我想从列表中抓取li,然后触发一个事件,就像我点击了li本身一样。换句话说,我正在尝试从按钮启动菜单上的单击事件

下面的代码返回的是document对象,而不是父LI

笔在这里:

$(“#切换按钮”)。打开('单击',函数(){
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>