Про критику addClass понял, у меня получается лицемерно: при removeClass проверка на reflow есть, при addClass -- нет :)
|
лучше распарсить строку во множество, отредактировать и потом сериализовать
|
Следующий вопрос: почему нельзя просто проверять
obj instanceof Array (почему используете Object.prototype.toString.call(obj) == '[object Array]') ? |
Цитата:
|
Цитата:
Цитата:
|
лучше= расширяемей. когда потребуется сделать циклическую смену классов или по хешу или ещё как-нибудь - не придётся заново писать регулярки, генерировать их и париться с отладкой. а скорость тут не важна
|
на тему добавить удалить класс )))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
.Green{
color: #FF0000;
}
.green{
background-color: #008000;
}
</style>
</head>
<body> <div class="Green" onclick="addclass(this,'green');addclass(this,'Green');addclass(this,'green');alert(this.className+' '+this.className.length);">12345</div>
<script language="JavaScript" type="text/javascript">
function delclass(obj, c) { obj.className = obj.className.replace(RegExp('(\\s+|^)' + c + '(\\s+|$)', 'g'), " ").replace(/^\s+|\s+$/,'')}
function addclass(obj, c) { delclass(obj, c); obj.className += " " + c}
</script>
</body>
</html>
|
рони,
а это о чём? |
Kolyaj,
о примере удаления добавления класса расположенного http://ir2.ru/show-hide-toggle.aspx наверно нужно было там и писать. основной момент это использование в проверке там флага i что приведёт к недобавлению скажем класса Green при наличии класса green. И ещё почему бы при добавлении класса не тестировать его наличие а просто удалять если он есть. ну и немного с пробелами чтоб они не копились replace(/^\s+|\s+$/, ''); |
Цитата:
|
| Часовой пояс GMT +3, время: 00:44. |