Frage

Ich habe diesen Code in jQuery, dass ich mit dem Prototyp-Bibliothek neu zu implementieren möchten.

// 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;
});

Wie kann man iterativ eine Sammlung von Elementen filtern aufgeführt hier in jQuery ein Äquivalent zu dem nicht () Operatoren?

War es hilfreich?

Lösung

Die Filterung kann getan werden, die Ausschussverfahren wie so mit:

$$('a').reject(function(element) { return element.getAttribute("href").match(/http:\/\/(www.|)foo.com/); }).invoke("addClassName", "external");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top