показывая скрытый li на клике jquery - PullRequest
0 голосов
/ 05 октября 2009

Извините за все тупые вопросы, которые я все еще изучаю, и считаю, что это БОЛЬШОЙ ресурс!

Как я могу показать <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;

Первоначально я думал, что мне нужно будет использовать это, но если я правильно понимаю "это", он получает текущий элемент, поэтому я подумал, что мне нужно получить следующий элемент после текущего 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 Ответ

2 голосов
/ 05 октября 2009
$('.edit_project_file').click(function() {
    $(this).parent().next().show();
    return false;
});

Если ваша разметка будет такой же последовательной, как и ваш пример, это должно сработать. Просто помните, что вам нужно спуститься вверх, потому что вы находитесь в anchor, который является потомком li, тогда следующий брат или сестра - li, который вы хотите показать.

Живой пример: http://jsbin.com/edovu

К вашему сведению: я думаю, что у вас есть незакрытый тег li.

...