Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
17 / 15 / 2
Регистрация: 12.11.2013
Сообщений: 228

Подмена html тега JavaScript с назначением класса

08.01.2018, 11:45. Показов 2262. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени, уважаемые форумчане !

Суть заключается в том что бы динамически (после загрузки html) менять к примеру h4 на h2 там где это необходимо.

Изобрел скрипт подмены тегов, но не получается "оставить" класс у элемента.

В примеру есть в шаблоне вот такой html

HTML5
1
2
3
<div class="title-wrapp-site">
   <h4 class="title-site">Название сайта</h4>
</div>
Делаю подмену скриптом h4 на h2

JavaScript
1
2
3
4
5
jQuery(document).ready( function () {
   jQuery("h4.title-site").replaceWith(function(index, oldHTML){
      return jQuery("<h2>").html(oldHTML); // Добавить/оставить класс для нового элемента
   });
});
Все отлично, но класс у элемента h2 пропадает и получается так

HTML5
1
2
3
<div class="title-wrapp-site">
   <h2>Название сайта</h2>
</div>
Хотелось бы оставлять тот класс который был (родной) у h4 в данном примере или добавлять новый свой
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.01.2018, 11:45
Ответы с готовыми решениями:

Как получить аттрибут html-тега из partial view в JavaScript?
Привет, дело в следующем. Есть главное view в котором в list скриптом загружается partial view _Table: &lt;script...

Вызов метода класса javascript из html
Здраститя. Сейчас у меня есть .js файл с функциями, которые вызываются из html довольно просто - onclick='имяФункции()'. Функций накопилось...

Белое пространство (вне тега <html></html>) под основным контентом
Добрый день! Клиент, в качестве эксперимента наверное, решил добавить на сайт Elementor. Это при том что по по ТЗ он создавался на основе...

3
 Аватар для sad67man
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,839
10.01.2018, 01:57
Лучший ответ Сообщение было отмечено Dimka Mixov как решение

Решение

Dimka Mixov,
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$.fn.changeTag = function(tag) {
  var $result = $();
  this.each(function() {
    var $this = $(this);
    var replacement = $('<' + tag + '>');
    var attributes = {};
    $.each(this.attributes, function(index, attribute) {
      attributes[attribute.name] = attribute.value;
    });
    replacement.attr(attributes);
    replacement.data($this.data());
    replacement.html($this.html());
    $this.replaceWith(replacement);
    $result = $result.add(replacement);
 
  })
  return $result;
}
 
$('h4').changeTag('h2');
1
17 / 15 / 2
Регистрация: 12.11.2013
Сообщений: 228
10.01.2018, 16:11  [ТС]
sad67man - Благодарен Вам, то что нужно

Не много изменил на jQuery

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<script type='text/javascript'>
    jQuery(document).ready( function () {
        jQuery.fn.changeTag = function(tag) {
        var $result = jQuery();
        this.each(function() {
        var $this = jQuery(this);
        var replacement = jQuery('<' + tag + '>');
        var attributes = {};
        jQuery.each(this.attributes, function(index, attribute) {
        attributes[attribute.name] = attribute.value;
        });
        
        replacement.attr(attributes);
        replacement.data($this.data());
        replacement.html($this.html());
        $this.replaceWith(replacement);
        $result = $result.add(replacement);
 
        })
        return $result;
        }
 
        jQuery('h3.entry-title').changeTag('h2');
        jQuery('.widget_nav_menu h4.td-block-title').changeTag('p');
 
    });
</script>
0
220 / 173 / 115
Регистрация: 19.01.2015
Сообщений: 524
10.01.2018, 18:20
Так не проще?
JavaScript
1
$('h4.title-site').replaceWith('<h2  class="title-site">' + $('h4.title-site').html() +'</h2>');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2018, 18:20
Помогаю со студенческими работами здесь

Как поправить javascript для тега <select>?
что нужно изменить чтоб добавить вывод данных на остальные города в выпадающем списке? HTML &lt;select id=&quot;country&quot;&gt;...

Подмена класса при клике
Всем привет! Ребята, помогите пожалуйста запилить такой скрипт. Имеем следующее &lt;div class=&quot;press&quot;&gt;&lt;/div&gt; ...

ООП. Подмена адреса класса
Здравствуйте. Почему этот код вызывает метод класса A, хотя указатель указывакт на экземпляр B ? class A { public: void...

Код javascript для создания теста, используя html form и javascript
Привет, собственно, вот, в чём вопрос. У меня есть форма html: &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;&lt;/title&gt; ...

HTML Javascript Adder - плагин для вставки javascript
Подскажите пожалуйста, в чем может быть проблема. Есть сайт на WP 3.6 с установленной темой WpTech версия 2.1. Требуется добавить в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru