Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否将某个术语的所有实例转换为小写?_Javascript_Jquery_Css - Fatal编程技术网

Javascript 是否将某个术语的所有实例转换为小写?

Javascript 是否将某个术语的所有实例转换为小写?,javascript,jquery,css,Javascript,Jquery,Css,我有一个导航,所有项目都通过文本转换:大写大写。然而,有一个术语(ISAtv)我总是希望小写。这个术语在整个导航(子菜单等)中多次出现,因此我想知道是否有一种方法可以使用一些代码一次性更改所有项,而不是通过CSS仅针对某一项 例如,它看起来像这样: 关于第1页第2页第3页观看ISAtv联系人 我想将“ISATV”的所有实例转换为“ISATV”。如何执行此操作?您可以使用正确的文本替换ISATV文本,并使用类将其封装在span中,以删除文本转换 JS: 公认的答案仍然不能正确解决问题。下面是我编

我有一个导航,所有项目都通过
文本转换:大写
大写。然而,有一个术语(ISAtv)我总是希望小写。这个术语在整个导航(子菜单等)中多次出现,因此我想知道是否有一种方法可以使用一些代码一次性更改所有项,而不是通过CSS仅针对某一项

例如,它看起来像这样:

关于第1页第2页第3页观看ISAtv联系人


我想将“ISATV”的所有实例转换为“ISATV”。如何执行此操作?

您可以使用正确的文本替换ISATV文本,并使用类将其封装在
span
中,以删除
文本转换

JS:


公认的答案仍然不能正确解决问题。下面是我编写的一个快速而肮脏的函数,您可以使用它查找字符串的所有实例并保留其大小写

JS:

CSS:


当文本转换风格设置为大写时,使用JavaScript使文本小写没有多大帮助。不过,“ISATV”不是“ISATV”的小写版本。考虑可能存在HTML属性的HTML名称,其名称或值可能包含字符串“ISATV”。。如果页面中有写为“ISAtv”或“ISAtv”或类似内容的“ISAtv”,该怎么办?@Froient我已修改上述内容以支持不区分大小写的匹配。您可以传入true作为第二个参数来使用它。
var strIsatv = /(ISATV)+/gi;
document.body.innerHTML = document.body.innerHTML.replace(strIsatv, '<span class="untransform">ISAtv</span>');
.untransform { text-transform: none; }
function retainCaseStrings(retainWord, caseInsensitive) {
    $('body *').contents().each(function() {
        if (this.nodeType === 3 && $.trim(this.data).length) {
            var trimmedWord = $.trim(this.data);
            var indexOfRetainedWord;
            if (caseInsensitive) {
               var lowerCaseRetainWord = retainWord.toLowerCase();
               indexOfRetainedWord = trimmedWord.toLowerCase().indexOf(lowerCaseRetainWord);
            } else {
               indexOfRetainedWord = trimmedWord.indexOf(retainWord);   
            }
            if (indexOfRetainedWord !== -1) {
                var $span = $(document.createElement('span')).addClass('retain-case').append(trimmedWord.slice(indexOfRetainedWord, retainWord.length));
                var requiredNodes = [
                    document.createTextNode(trimmedWord.slice(0, indexOfRetainedWord)),
                    $span[0],
                     document.createTextNode(trimmedWord.slice(indexOfRetainedWord + retainWord.length))

                ];
                var parentNode = this.parentNode;
                parentNode.replaceChild(requiredNodes[2], this);
                parentNode.insertBefore(requiredNodes[1], requiredNodes[2]);
                parentNode.insertBefore(requiredNodes[0], requiredNodes[1]);
            }
        }
    });
}

var retainWord = 'ISAtv';
retainCaseStrings(retainWord, true);
.retain-case { text-transform: none; }