Jak dosáhnout, aby sIFR 3 nenahrazoval vybrané elementy?
- Na začátek sifr-config.js přidejte funkci :not :
parseSelector.pseudoClasses = {
'not': function(nodes, selector) {
var result = [];
each: for(var i = 0, node; i < nodes.length; i++) {
node = nodes[i];
var ignore = parseSelector(selector, node.parentNode);
for(var j = 0; j < ignore.length; j++) {
if(ignore[j] == node) continue each;
}
result.push(node);
}
return result;
}
} - Ve stejném souboru v místě, kde voláte nahrazovací funkci, přidejte výjimku pro požadované elementy. Například:
selector: '.program_events #content h2:not(.without-sifr), .venues #content h2:not(.without-sifr)' - Do sifr.css nezapomeňte přidat definici pro zviditelnění výjimky:
.sIFR-active #content h2.without-sifr {
visibility: visible;
}
Odzkoušeno na sIFR 3, revizi 436.
Celý postup v angličtině v části “Specifically Don’t Replace Certain Text” zde: http://wiki.novemberborn.net/sifr3/Tricks.