Создать простой список задач J Query

0

Я пытаюсь создать простой список todo в Javascript, но по какой-то причине, когда галочка отмечена галочкой, текст стиля, прилегающий к нему, не изменяется, а изменяется стиль текста заголовка в соответствии с скрипкой

HTML:

<table border="1">
    <tr>
        <td>
            <input type="checkbox" value="None" id="squaredTwo" name="check" />
        </td>
        <td>row 1, cell 2</td>
    </tr>
    <tr>
        <td>
            <input type="checkbox" value="None" id="squaredTwo" name="check" />
        </td>
        <td>row 2, cell 2</td>
    </tr>
</table>

<h2> Heading 2</h2>

CSS:

.newclass {
    text-decoration: line-through;
    color: red;
}

JQuery:

$('input[type="checkbox"]').click(function () {
    if ( this.checked ) {
        //alert('Checked');
        $("h2").addClass('newclass');
    } else {
        //alert('Unchecked');
        $("h2").removeClass('newclass');
    }
});

Пожалуйста помоги

2 ответа

0
Лучший ответ

Измените свой JQuery вот так:

$('input[type="checkbox"]').click(function () {
if (this.checked) {
    //alert('Checked');
    $(this).closest("td").next().addClass('newclass');
} else {
    //alert('Unchecked');
    $(this).closest("td").next().removeClass('newclass');
}
});

Демо-скрипт

Даже проще, чем

$('input[type="checkbox"]').click(function () {
$(this).closest("td").next().toggleClass('newclass');
});

Новая демонстрационная скрипка

  • 0
    спасибо что сработало
  • 0
    @ user2798091 отлично :)
Показать ещё 2 комментария
0

Это происходит, когда вы нацеливаете элемент H2 на стили при щелчке по галочке. Вместо этого используйте следующий элемент TD.

$('input[type="checkbox"]').click(function() {
if (this.checked) {
    //alert('Checked');
    $(this).parent().next().addClass('newclass');
} else {
    //alert('Unchecked');
    $(this).parent().next().removeClass('newclass');
}
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню