我有以下代码,该代码查找文本“ UID”并将其更改为“ UID *”
在我的页面上,还有其他术语,例如“描述”,“得分”等等。我也想在这些后面加上*-是否有一种整洁的方法来获取下面的代码来对其进行编辑?我知道的唯一方法是一次又一次地重复此代码块?
<script type="text/javascript">
//Mark UID as Mandatory
var CFN = "UID";
$(document).ready(ExecuteOrDelayUntilScriptLoaded(MainFunction, "sp.js"));
function MainFunction() {
Mandatory();
}
function Mandatory(){
$(".ms-accentText").each(function() {
var text = $(this).text();
$(this).text(text.replace(CFN, 'UID *'));
});
}
</script>
编辑。我尝试了以下答复,但对我而言不起作用,我现在已经获得了此代码,但再次似乎不起作用(它试图在使用“ UID”和“ Description”的位置添加*多变量;
<script type="text/javascript">
//Mark UID as Mandatory
var MandatoryCFs = ["UID", "Description"];
$(document).ready(ExecuteOrDelayUntilScriptLoaded(MainFunction, "sp.js"));
function MainFunction() {
Mandatory();
}
function Mandatory(){
$(".ms-accentText").each(function() {
var text = $(this).text();
$(this).text(text.append(MandatoryCFs, ' *'));
});
}
</script>
答案 0 :(得分:0)
使用|
正则表达式列表替换多个字符串
//Mark UID as Mandatory
var MandatoryCFs = ["UID", "Description"];
$(document).ready(ExecuteOrDelayUntilScriptLoaded(MainFunction, "sp.js"));
function MainFunction() {
Mandatory();
}
function Mandatory(){
$(".ms-accentText").each(function() {
var text = $(this).text();
$(this).text(text.replace(new RegExp(MandatoryCFs.join('|'),'g'), '$& *'));
});
}
或这样,如果您不需要替换的字符串是动态的:
text.replace(/UID|Description/g, '$& *')