JQuery 用新文本替换元素中的任何文本

发布于 2024-11-29 19:02:23 字数 463 浏览 0 评论 0原文

使用 JQuery 查找特定文本非常容易,但我想查找特定元素中的任何文本并替换它。我使用 load() 从另一个页面获取元素,因此文本会有所不同,这就是为什么我不能依赖使用 :contains()。

$("#results").load('http://www.test.com/url.html .ms-bodyareaframe .ms-vb-title a', function() {
    ('.ms-vb a').html("New Text");
});

正在加载的元素的 html 是:

<td class="ms-vb">
<a>
Old Text
</a>
</td>

对于我来说,文本替换是使用 function() 在加载中完成还是在页面加载后单独完成并不重要。但我尝试了多种方法,但未能使其发挥作用。

It's quite easy to find specific text with JQuery but I want to find any text within a specific element and replace it. I'm using load() to get an element from another page so the text will vary, that's why I can't rely on using :contains().

$("#results").load('http://www.test.com/url.html .ms-bodyareaframe .ms-vb-title a', function() {
    ('.ms-vb a').html("New Text");
});

The html of the element that's being loaded is:

<td class="ms-vb">
<a>
Old Text
</a>
</td>

It doesn't matter to me if the text replacement is done within the load using a function() or if it's done separately after the page is loaded. But I've tried several ways and I have not been able to get this to work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幻梦 2024-12-06 19:02:23

您可以通过以下方式以可管理的方式查找和替换文本节点中的值:

function findAndReplace(elements, textToFind, textToPlace) {
    $.each(elements.contents(), function () {
        // This is added to make sure the nodes you request are text nodes
        if (this.nodeType == 3)
            this.nodeValue = this.nodeValue.replace(textToFind, textToPlace);
    });
}

findAndReplace($('your element(s)'), 'textToFind', 'textToPlace');

This is how you can find and replace values in text nodes in a manageable manner:

function findAndReplace(elements, textToFind, textToPlace) {
    $.each(elements.contents(), function () {
        // This is added to make sure the nodes you request are text nodes
        if (this.nodeType == 3)
            this.nodeValue = this.nodeValue.replace(textToFind, textToPlace);
    });
}

findAndReplace($('your element(s)'), 'textToFind', 'textToPlace');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文