首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript在不更改子元素HTML和内容的情况下替换标记中的文本

Javascript在不更改子元素HTML和内容的情况下替换标记中的文本
EN

Stack Overflow用户
提问于 2015-06-22 04:29:01
回答 2查看 1.3K关注 0票数 0

我有一个脚本,我想在其中的任何地方回忆文本,用户可以看到,如下所示:

代码语言:javascript
运行
复制
$("body").html($("body").html().replace(/replaced word/g,'HELLO'));

这行得通,但效果很好。每当“替换单词”在标签中时,比如href、span、div或任何东西,它都会抛出页面上的所有格式。在不影响页面功能的情况下,对于页面中的每一次发生,实现替换文本的最佳方法是什么,不管它在什么元素中?谢谢

编辑:多亏了talsibony和每个人的帮助,我有了一个关于如何在不影响html标记的子元素中替换单词的答案。我希望用字体颜色或其他样式选项替换,如下所示:

代码语言:javascript
运行
复制
$(element).html($(element).selectorText().replace(/thisi/g,'<abbr title="hover title"><font color="#10a9cf">HELLO</font></abbr>'));

奇怪的是,这段代码在小提琴中工作,但是当我将它包含在我正在处理的google扩展中时,页面加载是空的。当我将它切换回selectortext时,它会加载,但我看到了替换中的html标记。

我不明白为什么,因为一个正确的替换不工作,也不让页面加载!

代码语言:javascript
运行
复制
$(element).html($(element).selectorText().replace(/thisi/g,'HELLO'));

在控制台中,我得到以下错误:无法读取空的“替换”属性

我在这里错过了什么?再次感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-22 04:53:51

我认为您必须在每个元素中单独使用我在这里重写的jquery小插件,这是代码,也是

小提琴

html

代码语言:javascript
运行
复制
<div id="parent">
    thisi sthe fpcd
    <p>p</p>
</div>

插件,以查找没有子元素的选择器文本的内容

代码语言:javascript
运行
复制
$.fn.selectorText = function(text) {
    var str = '';

    this.contents().each(function() {
        if (this.nodeType === 3) {
            if(text){
                this.textContent = text;
                return false;
            }else{
                str += this.textContent || this.innerText || '';
            }

        }
    });

    return str;
};

将其用于您的案例

代码语言:javascript
运行
复制
allowReplaceTags = ['DIV'];
$('body').find('*').each(function (i, element) {
    if ($.inArray(allowReplaceTags,element.tagName)){
        // do replace
        $(element).selectorText($(element).selectorText().replace(/thisi/g,'HELO'));

    }

});
票数 1
EN

Stack Overflow用户

发布于 2015-06-22 04:39:15

$("body").html($("body").text().replace(/replaced单词/g,‘HELLO’);

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30972135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档