javascript - 针对具有相同类 jquery 的特定元素
问题描述
这是高级别的代码,我有多个这样的列表,结构如下:
<li class="wrap-input">
<p>Some sentence</p>
<select class="form-control">
...
</select>
<div class="button-in-input">
...
</div>
</li>
.
.
.
我想要做的是,每当用户关注“表单控件”选择时,应该显示具有“输入按钮”类的 div,但仅在那个特定的 li 元素中。我用这个 jquery 代码试了一下:
$(".form-control").focusin(function() {
$(".button-in-input").show();
}).focusout(function() {
$(".button-in-input").hide();
});
但是,当然,这可以推广到我拥有的所有 li 元素。我假设有一种方法可以使用this关键字,但请注意 select 和 div 元素是兄弟元素。
任何帮助,将不胜感激!
PS:我想避免使用 ID,否则会有大量重复代码
解决方案
你可以用纯 CSS 做到这一点。
.wrap-input .button-in-input {
display: none;
}
.wrap-input select.form-control:focus + .button-in-input {
disply: block;
}
第二个选择器中的选择不是必需的,但它有助于防止具有相同类的不同项目。
推荐阅读
- python - 正则表达式匹配十六进制和复杂字符之间的数字
- django - 具有多种关系的数据库的高效设计 - Django
- javascript - 如何在图表中将一组属性映射到具有该属性的 Bar?
- java - 如何在Java中获取数组内对象的键值
- bash - awk:从 nmap 输出中提取端口
- c - **pointer 和 &pointer 作为函数参数有什么区别?
- snowflake-cloud-data-platform - 从另一个工作表中看不到雪花表
- arrays - 从数组中删除具有特定值的元素
- laravel - 在 laravel7 中使用关系获取数据时出现问题
- mysql - 如何在 MySQL 上制作一个从 SQL 查询日志的应用程序?