jQuery如何通过数据属性的值来查找元素?

12 浏览
0 Comments

jQuery如何通过数据属性的值来查找元素?

我有以下情况:

var el = 'li';

在页面上有5个

  • ,每个都有一个data-slide = number属性(number分别为1,2,3,4,5)。现在我需要找到与var current = $(\'ul\')。data(current);映射的当前活动幻灯片编号,并在每个幻灯片更改时更新。

    到目前为止,我尝试构建选择器来匹配当前幻灯片,但都没有成功:

    $('ul').find(el+[data-slide=+current+]);
    

    不匹配/未返回任何内容...

    我不能硬编码

  • 部分的原因是这是一个可以让用户访问的变量,如果需要,可以更改为不同的元素,因此它可能不总是li。对此有什么建议吗?
admin 更改状态以发布 2023年5月21日
0
0 Comments

如果您不想输入那么多内容,这里有一种更短的按数据属性查询的方法:

$("ul[data-slide='" + current +"']");

提醒一下:
http://james.padolsey.com/javascript/a-better-data-selector-for-jquery/

0
0 Comments

你需要将current的值注入到一个属性等于选择器中:

$("ul").find(`[data-slide='${current}']`)

对于旧的JavaScript环境(ES5和更早版本):

$("ul").find("[data-slide='" + current + "']"); 

0