MCPcopy Create free account
hub / github.com/gawel/pyquery / toggle_class

Method toggle_class

pyquery/pyquery.py:889–907  ·  view source on GitHub ↗

Toggle a css class to elements >>> d = PyQuery(' ') >>> d.toggle_class('myclass') [ ] >>> d.toggleClass('myclass') [ ]

(self, value)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 1

joinMethod · 0.80

Tested by

no test coverage detected