如何有条件地更改表格标签文本内容

时间:2017-09-05 04:00:22

标签: javascript jquery html-table conditional contains

我是JavaScript& jQuery的。我想根据数组的内容有条件地更改th文本。

var categoryNames = "Category : 1~!_Basis~#Category : 2~!_QUALITÄT~#Category : 3~!_GRUNDDATEN~#Category : 4~!_DISPOSITION~#Category : 5~!_VERTRIEB~#Category : 6~!_EINKAUF~#Category : 7~!_BUCHHALTUNG~#Category : 8~!_Optionen";

var replacetext = ["_Basis","_QUALITÄT","_GRUNDDATEN","_DISPOSITION","_VERTRIEB","_EINKAUF","_BUCHHALTUNG","_Optionen" ];

var res = categoryNames.split("~#");

for (var i=0; i< res.length; i++){ 
  var pattern = res[i];
  var rep  =  replacetext[i]; 
  $(function(){
    alert(pattern);
    var m=  $('table tr th:contains("'+pattern+'")');  
    m.text(rep);
  });  
}

上面的代码只是替换最后一个模式,即&#34; 类别:8~!_Optionen &#34;通过&#34; _Optionen &#34;。请建议。

2 个答案:

答案 0 :(得分:1)

不要在for循环中包含document.ready。

var categoryNames = "Category : 1~!_Basis~#Category : 2~!_QUALITÄT~#Category : 3~!_GRUNDDATEN~#Category : 4~!_DISPOSITION~#Category : 5~!_VERTRIEB~#Category : 6~!_EINKAUF~#Category : 7~!_BUCHHALTUNG~#Category : 8~!_Optionen";
var replacetext = ["_Basis", "_QUALITÄT", "_GRUNDDATEN", "_DISPOSITION", "_VERTRIEB", "_EINKAUF", "_BUCHHALTUNG", "_Optionen"];
var res = categoryNames.split("~#");

for (var i = 0; i < res.length; i++) {
  var pattern = res[i];
  var rep = replacetext[i];
  alert(pattern);
  //var m = $('table tr th:contains("' + pattern + '")');
  //m.text(rep);
  alert(rep)
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 1 :(得分:0)

通过包装替换jQuery对象中的模式的代码块,我不确定您要做什么。 for循环可以简单地进行替换。

for (var i=0; i< res.length; i++)
{ 
    var pattern = res[i];
    var rep  =  replacetext[i]; 

    alert(pattern);
    var m = $('table tr th:contains("'+pattern+'")');

    m.text(rep);
}