【发布时间】:2019-06-02 15:00:57
【问题描述】:
当鼠标单击下拉列表中的菜单值时,我想识别 HTML 表格单元格。使用 W3schools 代码,我可以获得有关单元格的信息,但不能从单元格内的下拉列表中获取。 此处某处 DOM 设置不正确。
<html>
<td onclick=myFunction5(this)>OPEN</td>
</html>
<script>
function myFunction5(x) {
alert("Cell index is: " + x.cellIndex);
</script>
将此代码用于 HTML 表格的一个单元格:
<td id = "td01" onclick=myFunction5(this)>
<div class="dropdown">
<button class="dropbtn">Change?</button>
<div class="dropdown-content">
<p onclick = "displayTableData()">OPEN </p>
<p onclick = "displayTableData()">Closed</p>
</div>
</div>
</td>
现在我需要从另一个函数中获取单元格 ID:-
function displayTableData() {
// when cell onclick - show cell index and contents
var myTable = document.getElementById('t02');
var totalRows = document.getElementById('t02').rows.length;
var totalCol = myTable.rows[0].cells.length;
document.getElementById(‘td01’).onclick=myFunction5(y);
var newCellid = y.CellIndex // return cell id
}
alert - 单元格索引为:未定义
【问题讨论】:
-
document.getElementById(‘td01’).onclick = myFunction5(y)将调用myFunction5(y)的返回值分配给监听器。您尚未发布该功能的任何详细信息。<html><td ...>...</td></html>是无效标记,可能浏览器会将 td 包装在 table、tbody 和 tr 元素中。 -
道歉 - 我认为 HTML 代码是不必要的。
。至于不完整函数的细节——我被卡住了——我希望能够在函数中使用单元格索引,但还没有找到提取这些信息的方法。OPEN -
如果点击在单元格内,那么它将冒泡并调用
myFunction5(this),除非您取消它。在 myFunction 中,this 将是表格单元格,它的 cellIndex 值由 cellIndex 属性显示,所以 @ 987654328@(注意大写)。
标签: javascript dom html-table onclick