Про критику 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, время: 12:23. |