【发布时间】:2013-04-11 18:11:35
【问题描述】:
我知道如何遍历下面的输入,搜索具有特定“测试人员”类别的输入
我是这样做的:
<input type='text' name='firstname' class="testing" value='John'>
<input type='text' name='lastname' class="testing" value='Smith'>
<script type="text/javascript">
$(document).ready(function(){
$.each($('.testing'), function() {
console.log($(this).val());
});
});
</script>
它按预期输出“John”、“Smith”。
我不想使用class="testing",而是使用自定义属性:testdata="John"。
所以这就是我要做的:
<input type='text' name='firstname' testdata='John'>
<input type='text' name='lastname' testdata='Smith'>
我的目标是使用testdata 中的任何内容自动填充每个输入的值,但只填充那些检测到具有testdata 属性的值。
这是我使用$.each 循环失败的尝试:
$.each($('input').attr('testdata'), function() {
var testdata = $(this).attr('testdata');
$(this).val(testdata);
});
我收到此回复:Uncaught TypeError: Cannot read property 'length' of undefined
谁能看到我做错了什么?
【问题讨论】:
-
旁注:使用
data-*属性,而不是你自己编造的。 -
这是常见的做法吗?如果是这样,那很高兴知道。你有什么地方推荐我可以读一下吗?
-
@ahren 谢谢!我绝对喜欢遵循标准
标签: jquery custom-attributes each