如何在 Limesurvey 中使用 Javascript 在第一个 table 行中插入文本
How do I insert text in first table row with Javascript in Limesurvey
我需要在 table 最左边的第一行中插入文本,它来自 Limesurvey 中的矩阵问题类型。
这原本不可能直接从管理面板进行。我想出了插入 javascript 代码。
检查 table,不幸的是,第一行既没有 class 也没有直接指向 select 的 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 我可以解决它。
所以我select table:
var t = document.querySelector('[aria-labelledby="ls-question-text-852216X2X7"]');
然后我最后插入文本:
t.rows[0].cells[0].innerHTML = "text";
我不知道你的 table 上是否有 ID(我认为是 var t
。)如果有,应该 很简单。这个有用吗?
document.getElementById("myTable").rows[0].cells[0].innerHTML = "text";
获取第一行的第一个单元格。如果有 table-header,它将获取 header 的第一个单元格(包括 header),因此请根据需要调整行。
我需要在 table 最左边的第一行中插入文本,它来自 Limesurvey 中的矩阵问题类型。
这原本不可能直接从管理面板进行。我想出了插入 javascript 代码。
检查 table,不幸的是,第一行既没有 class 也没有直接指向 select 的 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 我可以解决它。
所以我select table:
var t = document.querySelector('[aria-labelledby="ls-question-text-852216X2X7"]');
然后我最后插入文本:
t.rows[0].cells[0].innerHTML = "text";
我不知道你的 table 上是否有 ID(我认为是 var t
。)如果有,应该 很简单。这个有用吗?
document.getElementById("myTable").rows[0].cells[0].innerHTML = "text";
获取第一行的第一个单元格。如果有 table-header,它将获取 header 的第一个单元格(包括 header),因此请根据需要调整行。