javascript - 根据数据属性选择元素
问题描述
我有以下 html,我正在尝试通过 data 属性向它添加一个类:
<p class="form-row form-row-wide" data-child-field="child_has_jacket">
</p>
使用 jquery 我试过:
jQuery(document).ready(function( $ ){
$('.form-row [data-child-field='child_has_jacket']').addClass("selected");
});
不工作。任何人的想法?
解决方案
您有语法错误,请替换 数据属性类选择器中的'
by ,也"
data-child-field="child_has_jacket"
属性选择器在类中不能有空格,否则会搜索具有数据属性的子元素
它应该是这样的:
$('.form-row[data-child-field="child_has_jacket"]')
见片段:
jQuery(document).ready(function( $ ){
$('.form-row[data-child-field="child_has_jacket"]').addClass("selected").html("selected class added");
});
.form-row.selected {
border:1px solid black;
display:block
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="form-row form-row-wide" data-child-field="child_has_jacket">
</p>
推荐阅读
- unity3d - 为什么我在 Unity 中心的 Unity 仪表板中看不到我创建的项目?
- c# - 对控制器函数的多次调用会导致问题(ASP.NET MVC Web 应用程序中的 EF Core)
- python - pygame没有检测到按键
- c++ - 哪个 STL 集合最适合 2D 碰撞检测?
- c++ - 查看数组是否有两个共同元素的最快方法是什么?
- list - 在列表中搜索时优化应用程序性能
- c++ - 并行编程中的 READ_ONCE 和 WRITE_ONCE
- angular - 如何根据条件更改角垫图标按钮颜色?
- java - 避免在 Hibernate 中进行第二次延迟获取查询
- mysql - 在实际查询数据之前,如何验证 SQL 谓词的输出是否与另一个 SQL 谓词的输出相交?