Как использовать переменные JavaScript в качестве параметра в селекторе jQuery?
<script type="text/javascript">
$(function(){
$("input").click(function(){
var x = $(this).attr("name");
$("input[id=x]").hide();
});
});
</script>
<input type="text" id="bx"/><input type="button" name="bx"/>
<input type="text" id="by"/><input type="button" name="by"/>
По сути, я хочу скрыть элемент, который имеет имя id
, равное имени элемента, по которому щелкают.
javascript
jquery
user225269
источник
источник
Поскольку вы используете идентификатор, это будет работать лучше
Я настоятельно рекомендую быть более конкретным с вашим подходом к скрытию элементов с помощью нажатий кнопок. Я бы выбрал вместо этого использование атрибутов данных. Например
Тогда в вашем JavaScript
Теперь вы можете полностью контролировать, на какой элемент вы нацеливаетесь и что происходит с ним через HTML. Например, вы можете использовать
data-target=".some-class"
иdata-method="fadeOut"
для постепенного исчезновения коллекции элементов.источник
Также работает с ID:
когда (иногда)
не работает, как положено .
Вы даже можете сделать оба:
источник
источник
$("#" + $(this).attr("name")).hide();
источник
Шаблон строки ES6
Вот простой способ, если вам не нужна поддержка IE / EDGE
или
Это функция es6, называемая шаблоном
Показать фрагмент кода
Конкатенация строк
Если вам нужна поддержка IE / EDGE, используйте
Показать фрагмент кода
Селектор в DOM как атрибут данных
Это мой любимый способ, так как он делает код действительно СУХИМ
Показать фрагмент кода
источник