Jump to content

Talk:Specs/HTML

Add topic
From mediawiki.org
Latest comment: 9 years ago by Amire80 in topic The about attribute

The about attribute

[edit]

Is it guaranteed that groups of related elements will always be connected using the "about" attribute?

In ContentTranslation we are removing templates and <timeline>s from Parsoid-based DOM, and we find all the related elements using this code (redacted):

$( '[typeof*="mw:Transclusion"], [typeof*="mw:Extension/timeline"]' ).each( function () {
    var $element = $( this ),
        about = $element.attr( 'about' );

    if ( about ) {
        $( '[about="' + about + '"]' ).remove();
    }

    $element.remove();
} );

The questions are:

  1. Is every Transclusion and Extension/timeline element guaranteed to have an "about" attribute?
  2. If all the related elements have the same value in the "about" attribute, will it be enough to just do $( '[about="' + about + '"]' ).remove(); and discard $element.remove()?

(FYI, Santhosh.thottingal.) --Amir E. Aharoni (talk) 16:02, 31 December 2014 (UTC)Reply

Amir, the answer to 1) is yes. The 'about' attribute is always set, so that we can consistently identify templated or extension content that produces several sibling nodes. 2) is more of a jquery question. Without having tried it, I would say that yes it should work. Just give it a try (and report back, for others benefit) ;) -- Gabriel Wicke (GWicke) (talk) 16:42, 31 December 2014 (UTC)Reply
Thanks.
Looks like it works, though I didn't test with a lot of articles: https://gerrit.wikimedia.org/r/#/c/182174/ . --Amir E. Aharoni (talk) 16:55, 31 December 2014 (UTC)Reply