使用 jquery 替换 li 文本
Posted
技术标签:
【中文标题】使用 jquery 替换 li 文本【英文标题】:Replace li text using jquery 【发布时间】:2019-08-05 10:46:36 【问题描述】:我正在尝试替换 li 和 tags 的内容。
试过下面的代码。
<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 文本的前四个字符。也就是上面例子中的Plag
谁能帮帮我,好吗?
【问题讨论】:
预期结果是什么?value
是什么?
@epascarello。首先 li 应该替换 Specimen -> SpecimenSpeci
你真的在页面上包含了 jQuery 吗? value
是什么?
是的,我现在得到的价值 第一里标本
您仍然没有回答它.....在代码中value
没有定义,这意味着它会出错。你在哪里定义它。
【参考方案1】:
我认为问题出在这条线上
var str = $(this).clone().children().remove().end().text();
函数的顺序最终使字符串为空。如果您将其替换为
var str = $(this).text();
它有效。
我不确定你的产品线想要达到什么目的,但问题就在那里。
【讨论】:
以上是关于使用 jquery 替换 li 文本的主要内容,如果未能解决你的问题,请参考以下文章