jQuery数据属性单击事件
我很快就画了一张提琴来概括我的问题: 我试图单击一个div,获取它的data属性并显示它对应的div集 有人知道为什么它现在不这么做吗 JS HTMLjQuery数据属性单击事件,jquery,Jquery,我很快就画了一张提琴来概括我的问题: 我试图单击一个div,获取它的data属性并显示它对应的div集 有人知道为什么它现在不这么做吗 JS HTML HTML网站模板 jQuery插件 Tumblr主题 WordPress主题 此 $('.itemLinks [data-category=' + target_category + ']').show(); 应该是这个 $('.itemLinks[data-category="' + target_category + '"]').show
HTML网站模板
jQuery插件
Tumblr主题
WordPress主题
此
$('.itemLinks [data-category=' + target_category + ']').show();
应该是这个
$('.itemLinks[data-category="' + target_category + '"]').show();
该空间被解释为子体选择器,但数据类别
直接位于itemLinks
元素上,而不是位于子体上
我还在属性选择器的值周围添加了引号。API需要它
演示:为了改进代码,jQuery提供了.data()来检索数据集的值,因此不使用attr()而使用data()
演示:始终在问题本身中包含相关代码/标记。原因:上面的代码与HTML 5兼容,jQuery努力使开发人员的工作更轻松。@benhowdle89:它所做的只是将数据属性导入jQuery的
.data()
系统。如果你要做的只是读取数据,那真的没什么区别。因为您已经在使用数据-
属性,所以您已经兼容HTML5了。jQuery实际上并不使用HTML5dataset
属性来读取数据。但是在足够多的浏览器支持它之后,您将能够执行这个.dataset.target\u category
来检索数据。没错,但是有工具集可以使用总是很好的,这是我个人的意见。当然。我只是说,除非您在jQuery的数据缓存中使用它,否则它不会有太大的区别。最终,访问它的最佳方法将是使用dataset
属性,但直到有足够的支持为止。
$('.itemLinks [data-category=' + target_category + ']').show();
$('.itemLinks[data-category="' + target_category + '"]').show();
var target_category = $(this).data('target_category');