cof*_*tor 20 each jquery custom-attributes
我知道如何遍历下面的输入,搜索具有特定类"测试者"的输入
以下是我的表现方式:
<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>
Run Code Online (Sandbox Code Playgroud)
它按预期输出"John","Smith".
我想不使用class="testing"和使用自定义属性:testdata="John".
所以这就是我要做的事情:
<input type='text' name='firstname' testdata='John'>
<input type='text' name='lastname' testdata='Smith'>
Run Code Online (Sandbox Code Playgroud)
我的目标是使用内部的任何内容自动填充每个输入的值testdata,但只检测那些具有该testdata属性的值.
这是我尝试使用$.each循环的失败:
$.each($('input').attr('testdata'), function() {
var testdata = $(this).attr('testdata');
$(this).val(testdata);
});
Run Code Online (Sandbox Code Playgroud)
我得到了这样的答复:Uncaught TypeError: Cannot read property 'length' of undefined
谁能看到我做错了什么?
Joe*_*Joe 35
这是使用HTML5 data-*属性:
HTML:
<input type='text' name='firstname' data-test='John'>
<input type='text' name='lastname' data-test='Smith'>
Run Code Online (Sandbox Code Playgroud)
JS:
$("input[data-test]").each(function(){
var testdata = $(this).data('test');
$(this).val(testdata);
});
Run Code Online (Sandbox Code Playgroud)
这是工作:http://jsfiddle.net/SFVYw/
更简单的方法是使用这个JS:
$("input[data-test]").val(function(){
return $(this).data('test');
});
Run Code Online (Sandbox Code Playgroud)
在内部,它与其他JS代码一样,但它只是更简洁一些.
$("input[testdata]").each(function(){
alert($(this).attr('testdata'));
// do your stuff
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46775 次 |
| 最近记录: |