【问题标题】:Find an element based on a data-attribute value. Syntax issue根据数据属性值查找元素。语法问题
【发布时间】:2016-11-08 07:07:51
【问题描述】:

我使用以下设置数据属性:

jQuery('.question').data('status', status_value); // status_value can be wrong or correct

现在我有两行一个接一个

jQuery('.question').data('status') // returns value wrong or correct, e.g. data-attribute 'status' exists and filled with value
jQuery(".question[status='wrong']") // returns undefined

为什么缩短的语法不起作用?

我的任务是获取数据属性值为“错误”的元素

【问题讨论】:

  • 为什么你们不能直接在问题中转储 html,为什么?
  • 如果它是一个数据属性,选择器应该是:$(".question[data-status='wrong']") 虽然我看不到任何东西会返回“不可用”。当然应该是nullundefined。正如@madalinivascu 所说,更多代码在这里会有很大帮助。
  • 仅供参考,一旦加载了 DOM,dataSet 和 data-* 属性将不再映射。但我想这与你的问题无关......
  • 问题更新了
  • @madalin ivascu 比如说 6-7

标签: jquery custom-data-attribute


【解决方案1】:

jQuery(".question[data-status='wrong']") 选择属性设置为错误的所有元素,但在代码jQuery('.question').data('status', status_value); 中,您设置的是 dom 节点的数据对象而不是属性, 设置属性使用attr()

jQuery('.question').attr('data-status', status_value);

【讨论】:

  • 感谢您的回答,但没有奏效。请看一下我更新的问题,也许更多信息可以为您提供线索。
  • 第二个语法是选择器,你选择了所有状态属性为错误的元素
  • 是的,完全正确,它不选择任何元素,而元素存在(通过第一行检查)。
  • 你到底想说什么?
  • 我是说我的代码中的第二行应该返回具有数据属性“错误”但事实并非如此的元素。
猜你喜欢
  • 2022-01-25
  • 1970-01-01
  • 2011-05-11
  • 2023-03-29
  • 2011-12-16
  • 2017-04-10
相关资源
最近更新 更多