Toggle a css class to elements >>> d = PyQuery(' ') >>> d.toggle_class('myclass') [ ] >>> d.toggleClass('myclass') [ ]
(self, value)
| 887 | |
| 888 | @with_camel_case_alias |
| 889 | def toggle_class(self, value): |
| 890 | """Toggle a css class to elements |
| 891 | |
| 892 | >>> d = PyQuery('<div></div>') |
| 893 | >>> d.toggle_class('myclass') |
| 894 | [<div.myclass>] |
| 895 | >>> d.toggleClass('myclass') |
| 896 | [<div>] |
| 897 | |
| 898 | """ |
| 899 | for tag in self: |
| 900 | values = value.split(' ') |
| 901 | classes = (tag.get('class') or '').split() |
| 902 | values_to_add = [v for v in values if v not in classes] |
| 903 | values_to_del = [v for v in values if v in classes] |
| 904 | classes = [v for v in classes if v not in values_to_del] |
| 905 | classes += values_to_add |
| 906 | tag.set('class', ' '.join(classes)) |
| 907 | return self |
| 908 | |
| 909 | def css(self, *args, **kwargs): |
| 910 | """css attributes manipulation |