2014-01-31 2 views
3

У меня есть область, пригодная для контента, и когда пользователь закончит редактирование, я сохраню данные в файле. Когда пользователь использует первый браузер, а затем другой стиль, созданный contenteditables, приводит к беспорядочному и несовместимому коду.Javascript JQuery заменить теги

Мне было интересно, есть ли способ заменить теги <span style="font-weight:bold">XXX</span>, созданные в Chrome, с такими стандартными тегами, как <b>xxx</b>.

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

ответ

4

вы можете попробовать это:

$('span').each(function(){ // iterate to the all the spans 
    if($(this).css('font-weight') == 'bold'){ // check if font is bold 
     $(this).contents().unwrap().wrap('<b></b>');​ 
    } // unwrap the content and wrap it 
}); 

Итак, что здесь происходит:

  1. перебрать все пролеты в документе
  2. проверка, если стиль КСС «жирный»
  3. , если правда, то первое разворачивать содержимое его трюмов и оберните его с тегами вашего выбора

так что вам нужно проверить все остальные стили css отдельно и заменить их соответствующим образом.

+0

Спасибо, потребуется новое, если для каждой команды, но должно быть хорошо. – StorySystems

+0

Рад, если это вам помогло. – Jai

1

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

$('span').each(function(){ // iterate to the all the spans 
    if($(this).css("font-weight") == "bold"){ // 
    $(this).contents().unwrap().wrap('<b></b>');​ 
} 
}); 

Working Demo

+1

Мне нужно заменить полужирный на теги b, подчеркивание на u и т. Д. Я не вижу, как этот код может различаться между этими различиями. – StorySystems

+0

@StorySystems: не читал эту часть. Обновлен код и демо. –

Смежные вопросы