在点击jquery上显示隐藏的li

时间:2009-10-05 00:27:06

标签: javascript jquery show-hide listitem

对于我仍在学习的所有愚蠢的jquery问题感到抱歉,并认为这是一个很好的资源!

如何在点击类时显示<li>这是我的HTML

<li><a href="#" rel="sample.gif">sample.gif</a> <a href="#" class="edit_project_file"> <img src="images/edit.gif"/></a></li>    
<li class="edit_project_image" style="display:none;"><input name="upload_project_images[]" type="file" /></li>');

我正在为我的jquery尝试这个(和许多其他组合):

$('.edit_project_file').click(function() {
$(".edit_project_file").next("li.edit_project_image").show();
return false;

我原本以为我需要使用它,但如果我正确理解“this”它会得到当前元素,那么我认为我需要在当前li之后获取下一个元素。

一如既往,任何帮助都会很棒!

编辑:这里实际使用的是php代码,

         $image_project_images_q = mysql_query("SELECT i_project_id,i_name,i_type FROM `project_images` WHERE `i_project_id` = '$project_data[p_id]' AND i_type = '2'");
    while($image_project_image_data = mysql_fetch_array($image_project_images_q)){
 echo ('<li><a href="#" rel="'.$upload_project_images_path.$image_project_image_data['i_name'].'">'. $image_project_image_data['i_name'].'</a> <a href="#" class="edit_project_file"> <img src="images/edit.gif"/></a></li>');
      echo('<li class="edit_project_image"><input name="upload_project_images[]" type="file" /></li>');
      }

最终修改:

因为代码是通过php while循环生成的,所以jquery需要

$('.edit_project_file').live('click',function() {
$(this).parent().next().show();
return false;

});

1 个答案:

答案 0 :(得分:2)

$('.edit_project_file').click(function() {
    $(this).parent().next().show();
    return false;
});

假设您的标记与您的示例一致,这应该有效。请记住,由于您所在的anchor属于li的孩子,因此必须向下移动,然后下一个兄弟是您要显示的li

实例:http://jsbin.com/edovu

仅供参考:我认为你有一个未贴现的li标签。