【发布时间】:2021-06-10 03:01:17
【问题描述】:
我需要在表格的最左侧第一行插入文本,该表格在 Limesurvey 中属于矩阵问题类型。
这在管理面板中最初是不可能的。我已经想出插入 javascript 代码。
不幸的是,检查表时,第一行既没有类也没有 id 来直接选择它。
这就是我设法在<thead> 中获得第一个<td> 的方法:
<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, length: 1, prevObject: {…} }
从该对象中,我看到了感兴趣的元素:0: <td class="">,那么如何在此处插入所需的文本?
- 我错过了什么?
- 如何插入该文本?
已解决
感谢@wazz,我可以解决它。
所以我选择了表格:
var t = document.querySelector('[aria-labelledby="ls-question-text-852216X2X7"]');
然后我终于插入了文字:
t.rows[0].cells[0].innerHTML = "text";
【问题讨论】:
-
你确定你得到一个单元格吗?
-
@wazz 是的,但我得到了一个巨大的物体。
标签: javascript html limesurvey