jQuery,在div中访问div

时间:2010-03-04 06:10:19

标签: jquery html

<div id="pic">
  <div id="left">
    <img src="images/left.png" />
  </div>
  <div id="right">
   <img src="images/right.png" />
  </div>
</div>

当我点击divid“左”时,我想隐藏div id“对”

我正在使用的代码:

$("#left").click(function(){$("#right").hide();});

这不起作用,原因是什么?我将如何实现我的目标?

5 个答案:

答案 0 :(得分:3)

由于您的代码在技术上是正确的,因此有三个错误之一:

  1. 您的点击功能未显示在$(document).ready功能
  2. 您的页面重复了ids。改为使用类。
  3. 您的div是动态创建的,因此不受$(document).ready
  4. 的约束

    (1)是一个简单的修复。只需加入$(document).ready即可。 (2)只需将id属性更改为类,但如果要确保隐藏正确的div,则可能需要进行一些遍历。 (3)可以使用$(selector).bind('click', function(){});$(selector).live('click', function(){});

    进行修正 祝你好运

    更新(1/24/12) - 如果您使用的是jQuery 1.7+,则应使用$(selector).on('click', function(){});,而不是bind()live() < / p>

答案 1 :(得分:2)

您的代码是正确的,适合我。

还有别的错误。

尝试在document.ready

中设置处理程序
$(document).ready(function() {

  $("#left").click(function() { $("#right").hide(); });


});

答案 2 :(得分:1)

您的代码似乎没问题,但看起来您错过了jQueryready事件,试试这个:

$(function(){
 $("#left").click(function(){
   $("#right").hide();
  });
});

注意: $(function(){ready事件代码的简称。

答案 3 :(得分:1)

点击事件只能在加载#left div后添加。因此,将现有的jquery包装在domready调用中。

$(document).ready(function(){
     $("#left").click(function(){$("#right").hide();});
});

答案 4 :(得分:0)

一些可能性:

  1. 确实在html head
  2. 中包含了jquery.js文件
  3. 在jquery行之前的前面的javascript中没有错误吗?他们可以在达到这一点之前停止执行。
  4. 是id的唯一吗?也许你有多个id ='right'的元素?