我是新来的,最近才发现 jQuery。 我有一个 list :
<ul id="tagcloud">
<li>Strategic Planning Process,Preparing for Changes,</li>
<li>Effective,Enrollment Managers,Effective Enrollment Managers,</li>
<li>Enrollment Program,</li>
<li>Next Generation,Diversity,Future enrollment,</li>
<li>Annual Admissions Plan,</li>
</ul>
现在,我想做的,基本上是将所有“,”替换为 </li><li>
当然,去掉最后一个“,”,不要有空 <li>
我认为它会是这样的:
$('pre').html(function() {
return this.innerHTML.replace(",", "</li><li>");
});
但是这不起作用。我可能想错了...
最佳答案
$('pre')
选择 pre
元素。另外,replace
[docs]除非提供带有全局标志的正则表达式,否则仅替换字符串的第一次出现。
我猜你想要
$('#tagcloud').html(function(i, html) {
return html.replace(/,/g, "</li><li>");
});
或者,为了不创建空的 li
元素(如果逗号位于末尾,则会发生这种情况),您可以仅获取文本:
$('#tagcloud').html(function(i, html) {
return '<li>' + $(this).text().replace(/,/g, '</li><li>') + '</li>';
// or
// return '<li>' + $(this).text().split(',').join('</li><li>') + '</li>';
});
进一步阅读:
关于jquery - 如何替换<li>标签的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6793600/