Итак, как вы видите на картинке, в теге li есть текст. Текст генерируется администратором панели тем WordPress. И я пытаюсь заменить часть текста в том же теге. Итак, я хочу иметь только: Powierzchnia w m²: 93,5.
Я сделал скрипт jquery:
$( document ).ready(function() {
let str = document.getElementById("class-20").innerHTML;
let first = str.split(" ")[0];
first = first.substr(8);
//let foundin3 = str.indexOf(":");
let foundin4 = $('*:contains(":")');
$( str ).insertAfter( foundin4 );
//foundin4.after(first)
//foundin4.appendChild(first);
});
Но это не дает ожидаемых результатов. Итак, первый вопрос: правильно ли указывать в качестве аргументов для переменных .insertAfter (7 строк фактического кода), как я, вместо тегов / классов html?
Прямо сейчас, после запуска этого в консоли инструментов разработчика, у меня есть:
Во-вторых, возможно, вы видите потенциальную синтаксическую ошибку, которая вызывает ошибку.
хорошо, вы видите решение этой проблемы, используя .insertAfter,
У меня есть идея использовать .replaceWith вместо

Я бы попробовал сначала использовать queryselector, а затем изменить текст. Это было бы примерно так: var changeIt = document.querySelector ('li # class-20'); $ (changeIt) .innerHtml («поместите сюда свой текст»);
Этот лучше: document.querySelector ("li # class-20"). InnerHTML = "Powierzchnia w m²: 93.5";
Это решение применимо только в том случае, если вы каждый раз знаете, что такое текстовое значение. И вся проблема в том, чтобы поменять местами две части текста, которые генерирует админ панели. Итак, правильный подход - решить эту проблему в более общем виде. Не меняя текст, а меняя местами части String. Ваш ответ статический, и в этом случае необходим динамический.
Я поигрался с содержимым этой строки, что также привело меня к правильному решению:
let str = document.getElementById("class-20").innerHTML;
let first = str.split(" ")[0];
first = first.substr(8);
let second = str.split(" ")[1];
let third = second + first;
$("#class-20").replaceWith(third);
Ошибка связана с тем, что вы используете str в качестве селектора. Что неверно.