如何在jQuery中进行"简单"查找和替换?

ins*_*ite 4 string jquery replace

我是jquery的新手,我很难做我认为应该是一个非常简单的查找和替换操作.

我想更改"<p>"标签内的文字.例如,我可能想用" 标题 " 替换" 的标题 ".

  <div id="ValidationSummary">
    <ul>
        <li>
            <p>
                Please specify your title</p>
        </li>
        <li>
            <p>
                Please enter your first name</p>
        </li>
        <li>
            <p>
                Please enter your surname</p>
        </li>
    </ul>
    </div>
Run Code Online (Sandbox Code Playgroud)

这里是没有做任何事情的jQuery:

$(function() {
    $('#ValidationSummary').text().replace("your title", "a title");
    $('#ValidationSummary').text().replace("first name", "christian name");
    $('#ValidationSummary').text().replace("your surname", "your last name");
};
Run Code Online (Sandbox Code Playgroud)

我真的看不出我做错了什么,有什么想法吗?

请帮忙,谢谢

Dav*_*ang 15

JS中字符串的任何更改都会产生一个新字符串,而不是修改那里的字符串.幸运的是,jQuery使得同时检索和修改文本变得容易:

$('#ValidationSummary p').text(function (i, old) {
     return old
         .replace('your title', 'a title')
         .replace('first name', 'christian name')
         .replace('your surname', 'your last name');
});
Run Code Online (Sandbox Code Playgroud)

说明:

  • return来自.text()jQuery 的字符串old用这个新字符串替换那里的字符串(传入as ).

  • 由于replace()每次都返回一个新字符串,我们可以将多个调用链接在一起,这样我们只需要一个.text()调用和return语句.

  • 我使用选择器,'#ValidationSummary p'因为使用.text().html() 将替换它正在操作的元素的全部内容.