Я пытаюсь заменить содержимое li и тегов.
Пробовал ниже код.
<html>
<head>Sample</head>
<body>
<a href = "#"><input type = "checkbox" class = "layer-input-filter" name = "testname">Test <span class = "count">5</span> </a>
<a href = "#"><input type = "checkbox" class = "layer-input-filter" name = "testname1">Test1 <span class = "count">10</span> </a>
<ul>
<li><a href = "#" rel = "noopener">Mixed assessment guidelines</a></li>
<li><a href = "" target = "_blank" rel = "noopener">Specimen </a></li>
<li><a href = "#" rel = "noopener">Plagiarism </a></li>
<li><a href = "" target = "_blank" rel = "noopener">Download </a></li>
<li><a href = "#" rel = "noopener">Qualification update</a></li>
<li><a href = "" target = "_blank" rel = "noopener">Specimen</a></li>
<li><a href = "#" rel = "noopener">Exam guide update</a></li>
<li><a href = "" target = "_blank" rel = "noopener">Guide </a></li>
</ul>
<script>
$(document).ready(function($) {
var value = 0.4;
$("body").find('li').each(function (index) {
if ($(this).text() != '') {
var str = $(this).clone().children().remove().end().text();
var newstring = str + str.substring(0, str.length * value);
$(this).text(newstring);
}
});
});
</script>
</body>
</html>
Мне нужно заменить текст каждого ли внутри тела. поэтому использовал для этого выше jquery. Но это не работает.
Пример :
<li><a href = "#" rel = "noopener">Plagiarism </a></li>
Следует заменить как
<li><a href = "#" rel = "noopener">PlagiarismPlag </a></li>
Первые четыре символа каждого текста ли. Это Плаг в приведенном выше примере.
Может ли кто-нибудь помочь мне с этим, пожалуйста?
@epascarello. сначала li следует заменить Specimen -> SpecimenSpeci
Вы действительно включили jQuery на страницу? А что такое value?
да, значение, которое я получаю сейчас Образец для первого ли
Вы так и не ответили..... В коде value НЕ определено, значит будет ошибка. Где вы это определяете.
@epascarello, я не смотрю на значение, нужно изменить текст. Вам понятно требование?
li содержит html, и похоже, что вы хотите удалить дочерние элементы и заменить текстом, но как вы определяете, что «Образец» становится «ОбразецСпец», действительно не ясно.
@epascarello, есть текст li, например «Загрузить», «Образец», я пытаюсь заменить этот текст, добавив еще 4 первых символа для этого текста.
<a>... не в элементах <li>3)«следует заменить Specimen -> SpecimenSpeci» - очень странная цель... 4) Второй аргумент .substring() не может быть числом с плавающей запятой... Это то, что у вас есть при умножении строки длина на 0.4. и причина, по которой вы это делаете, необъяснима. -- проголосовали за закрытие как неясное@LouysPatriceBessette, теперь ясно?
@epascarello, я обновил вопрос



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


думаю проблема в линии
var str = $(this).clone().children().remove().end().text();
Порядок функций делает строку в конце пустой. Если вы замените его на
var str = $(this).text();
оно работает.
Я не уверен, чего ваша линия пытается достичь, но проблема есть.
Каков ожидаемый результат? Что такое
value?