Как использовать gsub для удаления. в конце строки в рубине?

Прежде всего свойство id должно быть уникальным в DOM, поэтому вы не можете иметь несколько элементов с активным или неактивным идентификатором.

Это основная проблема, поскольку $('#inactive') вернет только первый элемент соответствует (, поскольку он должен быть уникальным ).

Кроме того, флажки имеют свойство checked, которое означает, что они проверены или нет, поэтому весь ваш код может просто проверить, что вместо изменения id все время.

Наконец, вы должны использовать теги label для текста вместо p, чтобы щелчок по тексту также установил / снял флажок.

( oh, флажок .toggler фильтры, а не сортировки, другие )

Поэтому, учитывая все проблемы, вы можете упростить свой код до

$(document).ready(function() {
  $('.toggler').change(function() {
    
    if (this.checked) {
      $('.grouped').parent().hide();
      $('.grouped:checked').parent().show();
    } else {
      $('.grouped').parent().show();
    }
  })
});
label{display:block;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p><label><input type="checkbox" class="toggler">click here to filter</label></p>
<label><input type="checkbox" class="grouped">Hello1</label>
<label><input type="checkbox" class="grouped">Hello2</label>
<label><input type="checkbox" class="grouped">Hello3</label>

0
задан Wiktor Stribiżew 19 January 2019 в 15:15
поделиться

2 ответа

Вы можете использовать

.gsub(/[,()'".]+\z/,'')

Точка должна быть помещена в класс символов, класс отрицанных символов должен быть количественно определен с помощью + (1 или более вхождений), а якорь \z должен быть добавлен для подтверждения позиции в конце строки.

См. Демонстрацию Рубуляр .

0
ответ дан Wiktor Stribiżew 19 January 2019 в 15:15
поделиться

Должно ли это быть .gsub?

Строка # delete_suffix может быть проще.

my_string.delete_suffix '.'

0
ответ дан Robert Buchberger 19 January 2019 в 15:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: