Add method to rename an Element's Tag without resetting the tag's properties #1980
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is tangentially related to #1428 and #502.
If I want to change the name of an element's tag as I traverse the DOM, I don't have the ability to "preserve" the properties of the underlying Tag object (for example, keeping a tag as self-closing). A great example of this is renaming a JSP tag, where I might want to change a
<bean:message />
to a<spring:message />
.This PR adds a new method to the Element class,
renameTagPreserveProperties(String)
, to support that behavior. Also added unit tests to confirm that the behavior of theElement.tagName(String)
method is preserved.