我正在尝试替换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>
我需要替换体内每个li的文字。因此在jquery上面使用它。但是它不起作用。
示例:
<li><a href="#" rel="noopener">Plagiarism </a></li>
应替换为
<li><a href="#" rel="noopener">PlagiarismPlag </a></li>
每个li文本的前四个字符。在上面的示例中为标记
有人可以帮我吗?
答案 0 :(得分:0)
我认为问题出在线
var str = $(this).clone().children().remove().end().text();
函数的顺序使字符串最后为空。如果将其替换为
var str = $(this).text();
有效。
我不确定您的生产线要实现什么目标,但是问题就在那里。