EDIT:
У меня есть 400 "входов" на странице, используя тот же класс:
.oDiv
Есть ли способ показать на странице nth
позицию этого класса (то есть его индекс) - так ли это 1-й, 2-й, 40-й, 100-й и т.д.
У меня есть серия классов на странице:
.oDiv
На странице более 400 из них - то, что я делаю, используется:
$( '.oDiv:eq(6)' ).remove();
для удаления некоторых из них в зависимости от выбора пользователей.
Что бы мне помогло с точки зрения кодирования, можно увидеть на странице.HTML number
каждого из классов - для проверки и отладки ошибок.
Пример:
<input type="checkbox" class="oDiv" id="Mat" name="spec[]" value="Mat 6"/>
<input type="checkbox" class="oDiv" id="Neo" name="spec[]" value="Neo 7"/>
<input type="checkbox" class="oDiv" id="Prey" name="spec[]" value="Prey 8"/>
Где 6 7 и 8 в value
показывают, что они являются 6-м, 7-м и 8-м в списке классов oDiv
.
Это имеет смысл и это возможно?
Вы можете показать onDocument нагрузки,
$.each($(".oDiv"), function() {
$("#debug").append($(this).val() );
})
где мы можем иметь
<div id="debug"></div>
для отображения значений всех ваших флажков. Для любого удаления флажков просто запустите код для обновления div.
Это может помочь:
<input type="checkbox" class="oDiv" id="Mat" name="spec[]" value="Mat 6"/>
<input type="checkbox" class="oDiv" id="Neo" name="spec[]" value="Neo 7"/>
<input type="checkbox" class="oDiv" id="Prey" name="spec[]" value="Prey 8"/>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('.oDiv').each(function(index, element) {
// index is a numerical increment of each element.
// element is a javascript object of the "this" element.
jQuery(element).after(jQuery(element).val() + '<br />');
jQuery(element).on('change', function() {
jQuery(this).remove();
});
});
});
</script>
Вы ищете .index(selector)
Попробуйте это, я предполагаю, что вы хотите увидеть его индекс при нажатии.
$('.oDiv').click(function(){
alert($('.oDiv').index(this));
});
Пожалуйста, прочитайте это, чтобы узнать больше о .index()
$(this).index()
или $('.oDiv').index(this)
-1
независимо от того, что я нажимаю.
Если число всегда является последним символом, используйте это:
$('input:checkbox').on('change', function(e) {
var num = $(this).val().substr(-1);
console.log(num);
});
В качестве альтернативы вы можете использовать .index, чтобы получить позицию:
$('input:checkbox').on('change', function(e) {
var num = $('input:checkbox').index($(this));
console.log(num);
});
Обратите внимание, что .index начинается с 0, поэтому первый найденный элемент будет 0, второй 1 и т.д.
$(function() {
$('input:checkbox').each(function(i, e)) {
var num = $('input:checkbox').index($(this));
console.log($(this).val() + " is in position " + num);
});
});