2014-01-30 5 views
0

У меня есть <div> тегКак удалить тег с помощью jQuery?

  <ul id="userpic" class="user pic"> 
      <im class="pict"/> 
       Picture preview 
     </ul> 

      <div id="showpicname"> 
       <div id="delpc"></div> 
       <div id="picnam"></div> 
      </div> 

и функцию JQuery для удаления delpc и picnam:

$("#delpc").click(function() { 
    $(".pict").hide().fade(slow); 
    $("#delpc").hide().fade(slow); 
    $("#picnam").hide().fade(slow); 
}); 

<input id="browse" type="file" name="upl" onchange="preview(this)" accept="image/*"/> 

Я могу скрыть пикт, но не в силах скрыть picnam и delpc и снимите файл, выбранный id = "browse"

Что я здесь делаю неправильно? Я использую тот же метод, что и скрытие класса = pict img.

Я пробовал все возможные пути, но не повезло.

Помогите мне здесь, пожалуйста.

Благодаря

+2

'$(). fade' не существует, ваш сценарий проливает при попытке для его вызова в первый раз. Проверьте консоль JS. –

+0

@ FabrícioMatté благодарит много друзей, что работает, я удалил выцветание, но как снять выделение с выбранного файла? –

ответ

0
$("#delpc").click(function() { 
     $(".pict").fadeOut("slow", function() { 
      $(this).hide(); 
     }); 
     $("#delpc").fadeOut("slow", function() { 
      $(this).hide(); 
     }); 
     $("#picnam").fadeOut("slow", function() { 
      $(this).hide(); 
     }); 

    }); 

re фер this для сброса браузер файлов

+0

Спасибо, этот хороший, но мне было интересно, как отменить выбор выбранного файла тегом , следует ли удалить файл из поддельного пути? или есть какой-либо другой эффективный способ? –

1

Смотрите эту скрипку:

Working Fiddle

И здесь идет код:

JS:

$(function() { 
    $("#delpc").click(function() { 
     $(".pict").fadeOut("slow"); 
     $("#delpc").fadeOut("slow"); 
     $("#picnam").fadeOut("slow"); 

    }); 
}); 

ИЛИ // нет необходимости использовать как скрыть и FADEOUT

$(function() { 
    $("#delpc").click(function() { 
     $(".pict").hide(); 
     $("#delpc").hide(); 
     $("#picnam").hide(); 

    }); 
}); 

HTML:

 <ul id="userpic" class="user pic"> 
     <im class="pict"/> 
      Picture preview 
    </ul> 

     <div id="showpicname"> 
      <div id="delpc">delete</div> 
      <div id="picnam">picnam</div> 
     </div> 
    <input id="browse" type="file" name="upl" onchange="preview(this)" accept="image/*"/> 
+0

'hide()' выполняется перед 'fadeOut()'. Зачем выполнять оба эти? Либо скрыть его мгновенно, либо исчезнуть. – timo

+0

Хорошо ... Я отредактировал свой ответ –

+0

Вы все еще скрываете их до завершения 'fadeOut()'. После завершения fadeOut элементы все равно будут скрыты, поэтому 'hide()' устарел. Несмотря на то, что он находится в исходном коде OP. Просто зайдите с http://jsfiddle.net/k4F6H/7/ – timo

1

Вы должны использовать .fadeOut() .Вы даже не нужно скрывать .:

$(".pict").fadeOut('slow'); 
$("#delpc").fadeOut('slow'); 
$("#picnam").fadeOut('slow'); 
+2

Медлен не определяется. –

0

fade должен быть fadeOut

Изменить

$("#delpc").hide().fade(slow); 
$("#picnam").hide().fade(slow); 

к

$("#delpc").hide().fadeOut("slow"); 
$("#picnam").hide().fadeOut("slow"); 
+0

Вам не нужно прятаться. fadeOut в конечном итоге скрывает элемент. –

Смежные вопросы