2014-10-20 4 views
0

Как говорится в названии; Я хочу скрыть div, когда я нажму на него. Это не происходит, что случилось с моим кодом?Основы jQuery - скрываются по ID

<head> 
    <script src="js/var_dump.js"></script> 
    <script src="jquery-1.11.1.min.js"></script> 
</head> 
<body> 
    <div id="kill">Disappear!</div> 
    <script> 
    $(document).ready(function() { 
     $("#kill").click(function() { 
     $("#kill").hide(); 
     }) 
    }} 
    </script> 
</body> 
+2

Любые сообщения об ошибках в консоли? – Veeru

+2

У вас есть синтаксическая ошибка: '}}' в последней строке (должно быть '});'). –

+0

Yup, синтаксическая ошибка: http://jsfiddle.net/uhdpqcxw/1/ – StuartLC

ответ

2

Существует плохая скобка в последней строке,

$(document).ready(function(){ 
    $("#kill").click(function(){ 
     $("#kill").hide(); 
    }); 
}); 
^^ 
0

Может быть, вы можете попробовать

$("body").on("click", "#kill", function() { 
    $("#kill").hide(); 
}); 
+0

Нет необходимости в делегированном событии Просто ошибка синтаксиса в исходном коде – Regent

+0

Если он использует динамически- добавленные элементы, может быть, но в противном случае это не изменит ситуацию (хотя вы убрали ошибку синтаксиса, я полагаю ...) –

+0

достаточно справедливо - только дал альтернативу. Вы, ребята, правы, у него синтаксическая ошибка – Veeru

5

У вас есть } вместо ) в конце сценария. Ошибка синтаксиса. :/

Кроме того, возможно, вы не можете правильно ссылаться на ваш файл jQuery, как указано ниже.

+0

Хорошая находка, но, к сожалению, она по-прежнему не работает. :( – icor103

+0

@ icor103 Вы уверены, что ссылаетесь на jQuery в правильном месте? Возможно, я вообще не включаюсь. – Sneagan

+1

Вы правы, Снейган. добавили ответ, чтобы уточнить, что - спасибо. – icor103

0

Для этого есть не necessarty связать JQuery, вы можете использовать быстрее и короче:

<div id="kill" onclick="this.style.display = 'none'">Disappear!</div> 

http://jsfiddle.net/9w49jqx1/

+0

jQuery '.hide()' делает больше, чем просто 'display: none;' – Sneagan

+0

Я просто делаю это, чтобы узнать jQuery (учебник), но спасибо. :) – icor103

+0

Вы действительно предлагаете устаревшие 'onclick =" "'? – Regent

0

Как было указано, у меня была синтаксическая ошибка. Это было правильное исправление для информации, которую я дал, но я отвечаю на свой вопрос, потому что я уже сказал нескольким людям, что это не работает.

Я забыл включить подпапку в свой скрипт src, oops. Все хорошо!

Спасибо!

1

Как отмечали другие, проблема была в синтаксической ошибке. Но так как вы хотите, чтобы скрыть тот же элемент, что и щелкнул один, нет необходимости использовать селектор снова, вы можете использовать this для обозначения элемента, к которому обработчик событий связан с тем

$(document).ready(function() { 
 
    $("#kill").click(function() { 
 
    $(this).hide(); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id="kill">Disappear!</div>

+0

Ницца! Спасибо за это. – icor103

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