Как отключить Cufon на определенных элементах? - PullRequest
9 голосов
/ 29 апреля 2010

В настоящее время я использую Cufon для нашего сайта с чем-то похожим на Cufon.set('fontFamily', 'DIN Medium').replace('h1'); Теперь для одного тега H1 я бы хотел отключить Cufon, это без изменения тега H1 на любой другой тег, он должен оставаться как есть.

Я могу добавлять классы и т. Д. В тег H1, если это необходимо, и могу выполнять любые HTML / CSS / JS, просто не меняя фактический тег.

Кто-нибудь знает, возможно ли это, и если да, то как?

Заранее спасибо,

Шади

Ответы [ 4 ]

11 голосов
/ 30 апреля 2010

В зависимости от того, какой двигатель селектора вы используете, вы можете:

  • добавить класс к вашему исключению h1 элемент
  • вы можете использовать селектор: not, чтобы применить cufon только к h1, которые не имеют вышеупомянутого класса (с jQuery и classname 'clean' это будет что-то вроде Cufon.replace('h1:not(.clean)');
3 голосов
/ 18 февраля 2011
function remove_cufon(selector) {
    $(selector).html( cufon_text(selector) );
    return true;
}

function cufon_text(selector) {
    var g = '';
    $(selector +' cufon cufontext').each(function() {
        g = g + $(this).html();
    }); 
    return $.trim(g);
}

Использование:

remove_cufon('#name');
1 голос
/ 28 июня 2012

Использование jQuery: используйте класс css для h1 и укажите в селекторе ...

$('h1.noCufon').each(function(){
        var cufonText = '';
        $('cufontext',$(this)).each(function(){
            cufonText+=$(this).html();
        });
    if(cufonText!=''){
        $(this).html(cufonText);
    }
})
0 голосов
/ 29 апреля 2010

от одного h1 вы имеете в виду?

$('h1').each(function(){
    if($(this).siblings('h1').length)
        Cufon.set('fontFamily', 'DIN Medium').replace(this);
});
...