#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
У меня есть этот код:
<div class="form-group">
<div class="form-group has-feedback">
<input required="required" name="query" type="text" class="form-control indexInputSzukaj" id="inputValidation" placeholder="Znajdź" value="">
<span class="glyphicon glyphicon-search form-control-feedback glyphiconColor showActionAfterClick"></span>
</div>
</div>
Jquery
$(document).ready(function() {
$('.showActionAfterClick').click(function() {
alert('ok');
});
});
Этот код был создан в bootstrap.
Мне нужно показать окно предупреждения после щелчка showActionAfterClick
по классу, но оно не работает.
Как я могу это исправить?
Комментарии:
1. $(‘.showActionAfterClick’) между ними не должно быть пробела. и имя класса
2. обратите внимание на пробел в спецификаторе имени класса, он должен быть
.showActionAfterClick
3. это не помогает: (
4. У вас есть пробел между вашим селектором и именем класса
$('. showActionAfterClick')
, кроме того, у вас нет ничего внутри span, поэтому вы можете не знать, используете ли вы его на самом делеclick
Ответ №1:
У вас есть пробел между вашим идентификатором класса ( .
) и вашим именем класса showActionAfterClick
:
$(document).ready(function() {
$('.showActionAfterClick').click(function() {
alert('ok');
});
});
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<div class="form-group ">
<div class="form-group has-feedback ">
<input required="required" name="query" type="text" class="form-control indexInputSzukaj" id="inputValidation" placeholder="Znajdź" value="">
<span class="glyphicon glyphicon-search form-control-feedback glyphiconColor showActionAfterClick">Text to see this button</span>
</div>
</div>
Ответ №2:
В данном случае это произошло потому, что span является встроенным элементом, и его размер ширины зависит от его содержимого. Таким образом, элемент span не имеет ширины, и вы не можете щелкнуть по нему и вызвать предупреждение (помимо плохого синтаксиса в вашем селекторе запросов jquery). Пример @Jack Bashford работает, потому что элемент span содержит текст внутри, и это обеспечивает ширину этого элемента.
Ответ №3:
<div class="form-group ">
<div class="form-group has-feedback ">
<input required="required" name="query" type="text" class="form-control indexInputSzukaj" id="inputValidation" placeholder="Znajdź" value="">
<span id ="showActionAfterClick" class="glyphicon glyphicon-search form-control-feedback glyphiconColor">Click ME!</span>
</div>
</div>
$(document).ready(function() {
$('#showActionAfterClick').click(function() {
alert('ok');
});
});
добавьте идентификатор в свой тег span вместо class и замените. с помощью # и попробуйте сейчас
Ответ №4:
Используйте это
<div class="form-group ">
<div class="form-group has-feedback ">
<input required="required" name="query" type="text" class="form-control indexInputSzukaj" id="inputValidation" placeholder="Znajdź" value="">
<span onclick="test()" class="glyphicon glyphicon-search form-control-feedback glyphiconColor"></span>
</div>
</div>
<script>
function test(){
alert("ok");
}
</script>