Opened 10 years ago
Closed 10 years ago
#13189 closed bug (notabug)
Inconsistency with .attr() accessor and mutator for missing attributes
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | low | Milestone: | None |
Component: | attributes | Version: | 1.8.2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
When .attr(attrName)
is called on a selection that does not have an attrName
attribute, undefined
is returned.
When .attr(attrName, undefined)
is called on a selection, the attrName
attribute is not removed. Instead .attr(attrName, null)
must be called to remove the attrName
attribute from the selection of elements.
For consistency, I see two options being available:
Option 1
<div data-example="example"></div> <script> $('div').attr('data-example', undefined); </script>
should result in:
<div></div>
Option 2
<div></div> <script> console.log($('div').attr('data-example')); </script>
should result in:
null
Change History (1)
comment:1 Changed 10 years ago by
Component: | unfiled → attributes |
---|---|
Priority: | undecided → low |
Resolution: | → notabug |
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
.removeAttr
should be used to remove attributes. Setting tonull
orundefined
has no affect (by spec) on some attributes.