wiem jak pętli poniższych wejść, szukając tych z konkretnym klasy „testerów”jQuery - Pętla przez elementy z konkretnego atrybutu
A oto jak to zrobić:
<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>
Wystaje "John", "Smith" zgodnie z oczekiwaniami.
Nie chcę używać class="testing"
i używać niestandardowego atrybutu: testdata="John"
.
Więc to, co bym robił:
<input type='text' name='firstname' testdata='John'>
<input type='text' name='lastname' testdata='Smith'>
Moim celem jest auto-wypełnianie wartości każdego wejścia z cokolwiek jest w środku testdata
, ale tylko te wykryte mieć atrybut testdata
.
To była moja nieudana próba pomocą $.each
pętlę:
$.each($('input').attr('testdata'), function() {
var testdata = $(this).attr('testdata');
$(this).val(testdata);
});
uzyskać tę odpowiedź: Uncaught TypeError: Cannot read property 'length' of undefined
Czy ktoś może zobaczyć, co robię źle?
marginesie: użyj '*' atrybuty teleinformatyczny, zamiast własnych składających się z nich. – ahren
Czy to powszechna praktyka? Jeśli tak, to dobrze wiedzieć. Gdziekolwiek polecisz, mogę o tym przeczytać? – coffeemonitor
To na pewno. Możesz przeczytać o tym http://ejohn.org/blog/html-5-data-attributes/ lub http://html5doctor.com/html5-custom-data-attributes/ – ahren