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

标签 javascript jquery html-table conditional-statements 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);
  });  
}

上面的代码只是将最后一个模式“Category : 8~!_Optionen”替换为“_Optionen”。请建议。

最佳答案

不要在 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>

关于javascript - 如何有条件地更改表格标签文本内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46046821/

相关文章:

html - 如何使下表单元格的内容可滚动?

javascript - 将 JSON 对象添加到 DIV

javascript - 无法找到一种方法来转义 YouTube API 中的 json 中的引号

javascript - 多个脚本冲突

jQuery 在父级中查找 Div

css - 表格在 Firefox 中看起来很奇怪,但在 Safari/Chrome 中看起来不错

php - 如何调用多个JS和多个CSS

javascript - 循环遍历每个元素并按顺序打印值

jquery - 如何让这个 jQueryUI 按钮与使用自定义 CSS 样式创建的按钮大小相同?

javascript - 使用 ASP 控件复选框隐藏表行