问题描述
我需要在表格最左边的第一行中插入文本,该表格在 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
获取第一行的第一个单元格。如果有表头,它会得到表头的第一个单元格(包括表头),因此根据需要调整行。