Skip to main content

Bug Tracker

Side navigation

#7994 closed bug (wontfix)

Opened January 17, 2011 10:02PM UTC

Closed January 20, 2011 03:05PM UTC

Last modified March 10, 2012 11:53AM UTC

.attr('href', ...) may change the text part.

Reported by: anonymous Owned by:
Priority: low Milestone:
Component: attributes Version: 1.4.4
Keywords: Cc:
Blocked by: Blocking:

On IE8, I have element <a href="http://testurl">test@test</a>

and use .attr('href', 'http://testurl2') to change the href. But the text part (test@test) is changed to http://testurl2 too.

The repro is at:

Attachments (0)
Change History (5)

Changed January 17, 2011 10:52PM UTC by rwaldron comment:1

component: unfiledattributes
priority: undecidedlow

Changed January 17, 2011 10:56PM UTC by rwaldron comment:2

Changed January 18, 2011 01:48AM UTC by jitter comment:3

Changed January 18, 2011 09:49AM UTC by danheberden comment:4

Well a fix would add, imo, too much overhead. As jitter's second link mentions (though i put in a check for the @ before bothering with replacing crap)

var $a = $(this), // assuming your link element in a click handler or whatever
       old = $a.html();
$a.attr('href', '//whaver'); // set the href
if ( old.match( /@/ ) ) { // or indexOf , whatever
    $a.html( old );

Changed January 20, 2011 03:05PM UTC by jitter comment:5

resolution: → wontfix
status: openclosed

Given that there is a workaround for this but the workaround is impractical to get into jQuery core I close this one.