jquery - 如何替换<li>标签的内容

标签 jquery html

我是新来的,最近才发现 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>");
});

DEMO

或者,为了不创建空的 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>';
});

DEMO


进一步阅读:

关于jquery - 如何替换<li>标签的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6793600/

相关文章:

javascript - 如何使用Jquery获取UL LI数组和输入?

javascript - 添加到数组的对象全部更改为最后添加的对象

Javascript:调整事件大小,每个事件触发两次

jquery - 可折叠点击后滚动到顶部

javascript - 防止用户在输入框中手动输入日期

javascript - 如何从页面加载时默认出现的选定文本中删除文本选择?

html - 垂直对齐时将 Bootstrap 列居中

c# - 使用 C# 程序自动完成 HTML 表单

javascript - 表单打开时确认用户刷新页面

java - 在 JSP 中使用 jQuery/JavaScript 代码