Есть кусок кода HTML
<div id="1group1" class="right-item">
<div class="img-container">
<img src="" alt=""/>
</div>
<div class="description">
<div class="wrap-check"> </div>
<h3>Заголовок</h3>
<p>тра ля ля</p>
</div>
</div>
и в другой части этого же документа
<input type="checkbox" id="1group1i" name="group1" value="">
<label for="1group1i"><a href="#1group1">Какой то заголовок</a></label>
Задумка такая что при клике на элемент .wrap-check должен сниматься или отмечаться input. Написана функция на JQuery:
$(".wrap-check").click(function() {
var checkBoxes = $("#1group1i");
checkBoxes.prop("checked", !checkBoxes.prop("checked"));
$(this).toggleClass("red");
});
Работает. Однако инпутов очень много и у всех есть свой id и чтоб не указывать все, решено указывать id инпута через переменную. Т.е. ищем родителя у .wrap-check с классом .right-item и смотрим какой у него ID и к нему в конце добавляем "i" это и есть ID инпута который мы меняем.
Переписываю код:
$(".wrap-check").click(function() {
checkBoxes = $(this).closest(".right-item").attr("id")+"i";
find(checkBoxes).prop("checked", !checkBoxes.prop("checked"));
$(this).toggleClass("red");
});
Но такая конструкция не отрабатывает, пишет в консоли "checkBoxes.prop is not a function"
Насколько я понял при подставлении переменной, обращение перестает делаться к объекту.
Как правильно обратиться через переменную именно к объекту?