簡體   English   中英

使用javascript從元素的事件中找到存在於元素數組中的html元素

[英]Use javascript to find an html element which exists in an array of elements from the element's event

我有一個由javascript生成的表格。 創建表的正文時,我將每個單元格的每個元素存儲在數組中。 任何元素都可以輕松地通過

let element = elements[r][c];

其中,r和c是tbody的行和列。

當單元上發生事件時,例如keyup ,我捕獲了事件並使用event.target來檢索觸發該事件的元素。

event_element = event.target;

現在是否可以找到數組elements中的event_element elementsevent_element

目前,我正在設置element.name = element_rXcX然后解析event.target.name來查找rc值以恢復數組中的實際元素。

這也使我能夠在表格中找到元素事件的單元格的行和列。

我假設在element數組中定位一個元素會更好,這可能會讓我有點了解DOM。

請記住,元素html通常可能是相同的,但是我在chrome javascript控制台中注意到,如果我記錄了一個元素並在控制台中單擊它,它將突出顯示表格中的正確單元格。

這使我相信我必須能夠在元素數組中查找元素。

您可以像這樣嵌套Array.find

 var arr = [] arr[0] = ["00", "01"]; arr[1] = ["10", "11"]; arr[2] = ["20", "21"]; function find(arr, element) { var col; var row; var tmpArr = arr.find(function(subArr){ col = subArr.indexOf(element); return col > -1; }); row = arr.indexOf(tmpArr); return [row, col]; } console.log(find(arr, "21")); // [2,1] 

請記住,IE不支持array.find ,因此您需要為其添加一個polyfill。

你可以試試:

event_element.cellIndexevent_element.parentNode.rowIndex

cellIndex屬性返回單元格在表行的單元格集合中的位置。 http://www.w3schools.com/jsref/prop_tabledata_cellindex.asp

rowIndex屬性返回表在行集合中的行的位置。 http://www.w3schools.com/jsref/prop_tablerow_rowindex.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM