如何在 Limesurvey 中使用 Javascript 在第一个表格行中插入文本

问题描述

我需要在表格最左边的第一行中插入文本,该表格在 Limesurvey 中属于矩阵问题类型。

这在管理面板中最初是不可能的。我想出了插入 javascript 代码。

不幸的是,检查表格时,第一行既没有类也没有 id 可以直接选择它。

这就是我设法在 <td> 中获得第一个 <thead> 的方法:

<script type="text/javascript" charset="utf-8">

    $(document).ready(function() {
      console.log("test");
        //Seleccionar la tabla correspondiente
        var t = document.querySelector('[aria-labelledby="ls-question-text-852216X2X7"]');
      d = t.getElementsByTagName("tr")[0],r = d.getElementsByTagName("td")[0];
      var td = $(t).find("thead td").eq(0).children().first();
      console.log(td);
      //td.innerHTML = "mytext";
    });
</script>

但是,我不知道如何在该单元格中插入文本。我尝试过 innerHTML() 函数,但它不起作用。

console.log(td) 的结果是以下对象:

Object { length: 0,prevObject: {…} }
​
length: 0
​
prevObject: Object { length: 0,prevObject: {…} }
​​
length: 0
​​
prevObject: Object { 0: td,length: 1,prevObject: {…} }
​​​
0: <td class="">
​​​
length: 1
​​​
prevObject: Object { 0: td,prevObject: {…} }

从那个对象中,我看到了感兴趣的元素:0: <td class="">,那么我该怎么做才能在那里插入所需的文本?

  • 我错过了什么?
  • 如何插入该文本?

已解决

感谢@wazz,我可以解决它。

所以我选择了表格:

var t = document.querySelector('[aria-labelledby="ls-question-text-852216X2X7"]');

然后我终于插入了文本:

t.rows[0].cells[0].innerHTML = "text";

解决方法

我不知道您的桌子上是否有 ID(我认为words = '' for word in words_list: words += word occ = 0 for c in words: occ += 1 。)如果有,应该很简单。这行得通吗?

var t

获取第一行的第一个单元格。如果有表头,它会得到表头的第一个单元格(包括表头),因此根据需要调整行。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...