- From: <bugzilla@jessica.w3.org>
- Date: Sat, 07 Jul 2012 10:33:47 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17708 --- Comment #2 from Marcos Caceres <w3c@marcosc.com> 2012-07-07 10:33:39 UTC --- (In reply to comment #1) > (In reply to comment #0) > > $("article").removeClass("closed").addClass("opened"); > > > > If developers are going to swap CSS classes around in the method above, then > > they might as well have an efficient means to do that. > > What do you mean by "efficient"? I doubt there's any performance issue here. There is potentially a significant performance gain. Check this out: http://youtu.be/hZJacl2VkKo (not that swap could also have been used there... but also toggle()) > If you mean "less typing", this is already pretty concise (even without the > chaining shortcut). Nope, raw performance gains. As shown in the video. > > Or other similar code. We also saw evidence that developers assume that class > > lists retain order: > > > > if(elem.classList === "x y") { > > .... > > } > > > > This could lead to confusion when using DOMTokenList toggle(), as toggle > > destroys the ordering of CSS class list names of an attribute. > > > > Given the above, I'll like to request we add swap() method to DOMTokenList(). > > It would swap one token for another while retaining item order. > > This seems to be increasing the surface area of the API just to make it easier > to get bad practices to work. It encourages people to write more code that > depends on the order of the class list--which should be discouraged--instead of > fixing the real problem (use classList.contains(), not string comparison). To do the queries that you suggest is more annoying. You would need to do the following: if(elem.classList.contains("x") && elem.classList.contains("y")) When what you really want is: if(elem.classList.contains("x", "y", "z")); or (elem.classList.contains(["x", "y", "z"])) Getting off topic. -- Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Saturday, 7 July 2012 10:33:53 UTC