为什么jquery隐藏箭头而不是图像

时间:2014-05-26 11:08:45

标签: javascript jquery

我在这段代码中遇到了问题:

<style type="text/css">

    #container{
        width: 266px ;
        height:128px ;
        overflow: hidden;
    }

</style>
<script type="text/javascript" src="jquery-2.js"></script>
<script type="text/javascript">

    $(document).ready(function(){
        $(".left-arrow").click(function(){
            $(".large-photo").fadeOut(1000);

        });
    });


</script> 

<div id="container">
<div class="large-photo">
         <img src="images/1395924816_personal-information.png">
         <img src="images/1395938204_lock.png">
     </div>
     <div class="small-photo">
         <img src="images/1395939936_application-pgp-signature.png" >
         <img src="images/1396010974_button-cross_basic_red.png" >
     </div>

    </div>
     <div class="arrow">
          <a href="#" onclick="remove();" id="left-arrow">&lt;-</a> 
          <a href="#" id="right-arrow">-></a> 
      </div>

问题在于,当我点击left-arrow时,它隐藏large-image而不是隐藏自己,即jquery而不是隐藏large-image隐藏left arrow。请帮助我...

是的,这是我的代码的小提琴=====&gt; FIDDLE

感谢

但你们都在写删除onclick="remove();" ...为什么?

7 个答案:

答案 0 :(得分:2)

试试这个,

$(document).ready(function(){
    $("#left-arrow").click(function(){
        $(".large-photo").fadeOut(1000);
   });
});

以及你在“onclick = remove();”中所写的内容,在

<a href="#" onclick="remove();" id="left-arrow">&lt;-</a> 

它也会影响代码删除它或检查该代码,或尝试

<a href="#" id="left-arrow">&lt;-</a>

它会正常工作。

答案 1 :(得分:1)

您必须像这样指定身份#

#left-arrow

$(document).ready(function(){
        $("#left-arrow").click(function(){
            $(".large-photo").fadeOut(1000);

        });
    });

并删除onclick="remove();"

答案 2 :(得分:1)

因为箭头上有onclick="remove();"

删除它:)

你有一个错误的ID(#)和类(。)

答案 3 :(得分:1)

因为您正在尝试处理.left-arrow class的点击。但您在代码中将箭头定义为id。所以这是新版本:

http://jsfiddle.net/sUb4A/12/

答案 4 :(得分:1)

首先,left-arrowID您应该使用#作为ID选择器,而不是.,它是类选择器:

$("#left-arrow").click(function(){

而不是

$(".left-arrow").click(function(){

然后从此标记中删除onclick()

<a href="#" onclick="remove();" id="left-arrow">&lt;-</a> <!-- Remove onclick() -->

<a href="#" id="left-arrow">&lt;-</a>

Demo

答案 5 :(得分:1)

首先, 它的$("#left-arrow").click(function(){});左箭头是ID而不是CLASS。

然后,

删除onclick="remove();

选中 DEMO Fiddle

答案 6 :(得分:0)

您正在查看您的点击事件正在调用您的jQuery代码的常见问题。

首先,<a id="left-arrow">$(".left-arrow")之间没有引用。请在选择器处更改为#(正如之前所有其他人所说)。其次,您定义内联单击处理程序<a onclick="remove()"。如果单击此链接,JS将从DOM中删除您的节点。没有引用错误,因为remove()被定义为具有某些[本机代码]的函数。

您可以通过删除jQuery代码来证明我的解释,然后点击<a id="left-arrow" onclick=" console.log(typeof remove, remove); remove();'">

我为你创建一个小demo fiddle。随意向我的代码提问。