Bug Tracker

Ticket #10463 (closed enhancement: patchwelcome)

Opened 3 years ago

Last modified 2 years ago

RemoveAttr should check if attribute exist (when it's possible) before remove it

Reported by: markel Owned by: markel
Priority: low Milestone: None
Component: attributes Version: 1.7b1
Keywords: Cc:
Blocking: Blocked by:

Description

You already have similar behavior in removeClass method, without it you would got something like this --  http://jsperf.com/removeclass-without-check-for-classname-attr

Of course in removeClass that check needed for other reasons too, but in some cases it will improve performance for removeAttr.

Fast --  http://jsperf.com/removeattr-with-check-for-attr

Less faster --  http://jsperf.com/removeattr-with-check-for-attr-2

Equally fast or little bit slower --  http://jsperf.com/removeattr-with-check-for-attr-3

Pull request --  https://github.com/jquery/jquery/pull/538

Change History

comment:1 Changed 3 years ago by rwaldron

  • Owner set to markel
  • Priority changed from undecided to low
  • Status changed from new to pending
  • Component changed from unfiled to attributes

Those perfs are bogus because the attribute doesn't exist after the first removal.

Version 0, edited 3 years ago by rwaldron (next)

comment:2 follow-up: ↓ 3 Changed 3 years ago by markel

  • Status changed from pending to new

First show how speed will improve without attributes, is no need for attribute to exist -- its hole point Second shows if one attribute exist and another is not, its add only one attribute every time Third remove and immediately add the same attribute, so every time its will remove attribute

Please look more closely, they not bogus.

comment:3 in reply to: ↑ 2 Changed 3 years ago by rwaldron

I think you missed my edit...

Replying to markel:

First show how speed will improve without attributes, is no need for attribute to exist -- its hole point Second shows if one attribute exist and another is not, its add only one attribute every time Third remove and immediately add the same attribute, so every time its will remove attribute

Please look more closely, they not bogus.

comment:4 Changed 3 years ago by markel

yeah, i see now

comment:5 Changed 3 years ago by timmywil

  • Status changed from new to open

comment:6 Changed 2 years ago by dmethvin

  • Status changed from open to closed
  • Resolution set to patchwelcome

They both seem fast enough, but if you want to resurrect this submit let us know and we can discuss for 1.9.

Note: See TracTickets for help on using tickets.