我有一个带有一堆文本元素的表单,其中一些具有数据属性集。

我想遍历具有该属性的所有元素,提取该属性。

我创建了一个小提琴here

var textInputs = $(':text');
alert('found ' + textInputs.length + ' textInputs');

var datas = textInputs.find('[data-foo]');
alert('found ' + datas.length + ' datas');

我正在查找文本元素,但是我在data属性上的选择器未返回任何元素。

想法会有所帮助...

最佳答案

[data-foo]选择器是正确的,但是您应该在 filter 而不是 find 中使用它:

var datas = textInputs.filter('[data-foo]');

See working fiddle here

09-20 18:43