Javascript jQuery筛选器(this.hash)不是<;a>;标签

Javascript jQuery筛选器(this.hash)不是<;a>;标签,javascript,jquery,Javascript,Jquery,但我想知道和学习是否有其他方法可以让这一切顺利进行。谢谢 您的HTML不正确,这会导致很多问题: 您正在使用您的语法无效。您试图在?$('ul li a')上访问filter方法的内容是什么?$('click',function(){$('*[id^=“tab”]').hide().filter(this.hash).show();}这是有效的。但是选择器更改为$('ul li:has(a)我可以将a href值传递给.filter(this.hash)吗非常感谢!复制不正确并且很匆忙!!感谢

但我想知道和学习是否有其他方法可以让这一切顺利进行。谢谢

您的HTML不正确,这会导致很多问题:


  • 您正在使用

    您的语法无效。您试图在?$('ul li a')上访问
    filter
    方法的内容是什么?$('click',function(){$('*[id^=“tab”]').hide().filter(this.hash).show();}这是有效的。但是选择器更改为
    $('ul li:has(a)
    我可以将
    a href
    值传递给
    .filter(this.hash)吗
    非常感谢!复制不正确并且很匆忙!!感谢
    $($(这个)。查找(“a”).attr('href')).show();
    <ul>
        <li class="active"><a href="#block1">1<a/> </li>
        <li><a href="#block2">2<a/> </li>
         <li>3</li>
    <ul>
    <div id="block1">
         Block1
    </div>
    <div id="block2">
         Block2
    </div>
    
     $('ul li:has(a)').on('click', function(e){
        $(this).closest('li').addClass('active').siblings('li').removeClass('active');
                $('*[id^="block"]').hide();
              .filter(this.hash).show(); //WRONG//
                e.preventDefault();
          });
    
     $('ul li a').on('click', function(){
      $('*[id^="block"]').hide().filter(this.hash).show(); 
    }
    
    <ul>
      <li class="active"><a href="#block1">1</a> </li>
      <li><a href="#block2">2</a> </li>
      <li>3</li>
    </ul>
    <div id="block1">
      Block1
    </div>
    <div id="block2">
      Block2
    </div>
    
    $('*[id^="block"]').hide();
    $('*[id^="block"]:first').show();
    
    $('ul li:has(a)').on('click', function (e) {
      $(this).addClass('active').siblings('li').removeClass('active');
      $('*[id^="block"]').hide();
      $($(this).find("a").attr('href')).show();
      e.preventDefault();
    });