@ lnrbob действительно хороший ответ !!
У меня была проблема с тем, что я использовал псевдо-и до и после входных данных флажка, которые используют некоторые родительские атрибуты для отображения своего содержимого (из-за того, что там легко можно было выполнить перевод).
так они выглядят так:
input:before {
content: "" attr(data-on) "";
}
input:after {
content: "" attr(data-off) "";
}
и разметка выглядит так:
<div class="switch off" data-on="It is ON" data-off="It is OFF">
<input id="switch" name="switch" type="checkbox" class="off">
</div>
и модификация, которую я делаю в jquery, выглядит следующим образом:
var mSwitch = $('div.switch'),
on = $.trim(mSwitch.attr('data-on')),
off = $.trim(mSwitch.attr('data-off'));
// remove any spaces due to trim
mSwitch .attr('data-on', on);
// add a space
mSwitch .attr('data-on', on + ' ');
mSwitch .attr('data-off', off);
mSwitch .attr('data-off', off + ' ');
и я вызываю эту модификацию после установки / удаления классов, чтобы изменить стиль «флажка», который в данном случае является скорее кнопкой переключения: D
таким образом, вы не получите переполнение стека из-за слишком большого количества пробелов, если некоторые хардкор-тестеры автоматически нажимают на ввод в течение бесконечного времени;)
вот так:
<div class="switch on" data-on="ON" data-off="OFF ">