Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
jQuery:I';我正在尝试将单击操作绑定到具有相同类的多个元素 $(文档).ready(函数(){ $(“.slider\u link”)。每个(函数(i,元素){ 元素单击(函数(){ $(“div#“+elem.attr(“tag”)).slideUp(300); }); }); });_Jquery - Fatal编程技术网

jQuery:I';我正在尝试将单击操作绑定到具有相同类的多个元素 $(文档).ready(函数(){ $(“.slider\u link”)。每个(函数(i,元素){ 元素单击(函数(){ $(“div#“+elem.attr(“tag”)).slideUp(300); }); }); });

jQuery:I';我正在尝试将单击操作绑定到具有相同类的多个元素 $(文档).ready(函数(){ $(“.slider\u link”)。每个(函数(i,元素){ 元素单击(函数(){ $(“div#“+elem.attr(“tag”)).slideUp(300); }); }); });,jquery,Jquery,但在第一次(用alert检查)后,它会中断,说index.html没有方法单击。。。怎么了 html: 问题在于elem是当前的DOM元素,而不是具有 <li><a href="#" tag="home" class="slider_link">Home</a></li> <li><a href="#" tag="calendar" class="slider_link">Calend

但在第一次(用alert检查)后,它会中断,说index.html没有方法单击。。。怎么了

html:


  • 问题在于
    elem
    是当前的DOM元素,而不是具有

            <li><a href="#" tag="home" class="slider_link">Home</a></li>
            <li><a href="#" tag="calendar" class="slider_link">Calendar</a></li>
            <li><a href="#" tag="officers" class="slider_link">Officers</a></li>
            <li><a href="#" tag="media" class="slider_link">Media</a></li>
    
    $(function() {
      $(".slider_link").click(function(){
        $("#"+$(this).attr("tag")).slideUp(300);
      });
    });
    
     <li><a href="#home" class="slider_link">Home</a></li>
     <li><a href="#calendar" class="slider_link">Calendar</a></li>
     <li><a href="#officers" class="slider_link">Officers</a></li>
     <li><a href="#media" class="slider_link">Media</a></li>
    
    或者更简短,只需将所有属性绑定为相同,并在单击任何一个时获取属性:

    $(document).ready(function() {
        $(".slider_link").each(function(i, elem){
            $(elem).click(function(){
                $("div#"+$(elem).attr("tag")).slideUp(300);
            });
        });
    });
    

    一个更好的解决方案是使其更简单,并在禁用JS的情况下工作,更改标记如下:

            <li><a href="#" tag="home" class="slider_link">Home</a></li>
            <li><a href="#" tag="calendar" class="slider_link">Calendar</a></li>
            <li><a href="#" tag="officers" class="slider_link">Officers</a></li>
            <li><a href="#" tag="media" class="slider_link">Media</a></li>
    
    $(function() {
      $(".slider_link").click(function(){
        $("#"+$(this).attr("tag")).slideUp(300);
      });
    });
    
     <li><a href="#home" class="slider_link">Home</a></li>
     <li><a href="#calendar" class="slider_link">Calendar</a></li>
     <li><a href="#officers" class="slider_link">Officers</a></li>
     <li><a href="#media" class="slider_link">Media</a></li>
    

    即使禁用了JS,当您单击相应的链接时,它也会将页面滚动到
    ,等等。

    问题是
    elem
    是当前的DOM元素,而不是一个具有

            <li><a href="#" tag="home" class="slider_link">Home</a></li>
            <li><a href="#" tag="calendar" class="slider_link">Calendar</a></li>
            <li><a href="#" tag="officers" class="slider_link">Officers</a></li>
            <li><a href="#" tag="media" class="slider_link">Media</a></li>
    
    $(function() {
      $(".slider_link").click(function(){
        $("#"+$(this).attr("tag")).slideUp(300);
      });
    });
    
     <li><a href="#home" class="slider_link">Home</a></li>
     <li><a href="#calendar" class="slider_link">Calendar</a></li>
     <li><a href="#officers" class="slider_link">Officers</a></li>
     <li><a href="#media" class="slider_link">Media</a></li>
    
    或者更简短,只需将所有属性绑定为相同,并在单击任何一个时获取属性:

    $(document).ready(function() {
        $(".slider_link").each(function(i, elem){
            $(elem).click(function(){
                $("div#"+$(elem).attr("tag")).slideUp(300);
            });
        });
    });
    

    一个更好的解决方案是使其更简单,并在禁用JS的情况下工作,更改标记如下:

            <li><a href="#" tag="home" class="slider_link">Home</a></li>
            <li><a href="#" tag="calendar" class="slider_link">Calendar</a></li>
            <li><a href="#" tag="officers" class="slider_link">Officers</a></li>
            <li><a href="#" tag="media" class="slider_link">Media</a></li>
    
    $(function() {
      $(".slider_link").click(function(){
        $("#"+$(this).attr("tag")).slideUp(300);
      });
    });
    
     <li><a href="#home" class="slider_link">Home</a></li>
     <li><a href="#calendar" class="slider_link">Calendar</a></li>
     <li><a href="#officers" class="slider_link">Officers</a></li>
     <li><a href="#media" class="slider_link">Media</a></li>
    
    即使禁用了JS,当您单击相应的链接时,它也会将页面滚动到
    ,等等