Come posso reimplementare il codice jQuery pop-up esterno in Prototype?
-
01-07-2019 - |
Domanda
Ho questo codice in jQuery, che voglio reimplementare con la libreria prototipo.
// make external links open in popups
// this will apply a window.open() behaviour to all anchor links
// the not() functions filter iteratively filter out http://www.foo.com
// and http://foo.com so they don't trigger off the pop-ups
jQuery("a[href='http://']").
not("a[href^='http://www.foo.com']").
not("a[href^='http://foo.com']").
addClass('external');
jQuery("a.external").
not('a[rel="lightbox"]').click( function() {
window.open( jQuery(this).attr('href') );
return false;
});
Come puoi filtrare in modo iterativo una raccolta di elementi utilizzando un equivalente degli operatori not() elencati qui in jQuery?
Soluzione
Il filtraggio può essere eseguito utilizzando il metodo di rifiuto in questo modo:
$$('a').reject(function(element) { return element.getAttribute("href").match(/http:\/\/(www.|)foo.com/); }).invoke("addClassName", "external");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow