Javascript 在HTML表格中按下按钮时,如何获取行和列值?
我希望这样,当用户单击其中一个Get Sequence按钮时,它调用一个函数,该函数在所有Get Sequence按钮之间共享,该函数传递特定于该行和列的值 例如,如果用户要单击rad51/鼠标获取序列按钮,则函数将传入rad51和鼠标 到目前为止,我所拥有的:Javascript 在HTML表格中按下按钮时,如何获取行和列值?,javascript,Javascript,我希望这样,当用户单击其中一个Get Sequence按钮时,它调用一个函数,该函数在所有Get Sequence按钮之间共享,该函数传递特定于该行和列的值 例如,如果用户要单击rad51/鼠标获取序列按钮,则函数将传入rad51和鼠标 到目前为止,我所拥有的: function createTable(){ //call firebase var genes = ["rad51", "dmc1"]; var genomes = ["human
function createTable(){
//call firebase
var genes = ["rad51", "dmc1"];
var genomes = ["human", "mouse", "dog"];
var geneCount = genes.length;
var genomeCount = genomes.length;
var table = document.getElementById("inventory");
var firstRow = document.getElementById("firstRow");
var x = 0;
var y = 0;
while(x < geneCount){
var data = document.createElement('td');
var text = document.createTextNode(genes[x]);
data.appendChild(text);
firstRow.appendChild(data);
x++;
}
while(y < genomeCount){
//create new row
var newRow = document.createElement('tr');
var data = document.createElement('td');
var text = document.createTextNode(genomes[y]);
data.appendChild(text);
newRow.appendChild(data);
x = 0;
while(x < genes.length){
var currentGene = genes[x];
var currentGenome = genomes[y];
data = document.createElement('td');
data.setAttribute("id", currentGene);
var getSequenceButton = document.createElement("button");
text = document.createTextNode("Get Sequence");
getSequenceButton.appendChild(text);
???----> getSequenceButton.addEventListener("click", getId(this.parent));
var changeColorButton = document.createElement("button");
data.appendChild(getSequenceButton);
data.appendChild(changeColorButton);
newRow.appendChild(data);
x++;
}
table.appendChild(newRow);
y++;
}
};
我解决了自己的问题。因此,我所做的是为我感兴趣的信息的每个按钮分配一个id。分配给事件对象中传递的每个按钮的函数,我可以在其中使用event.target.id解析id我认为这可能是使用Jquery的解决方案,假设您的表不改变其结构:
$(document).ready(function(){
$(".table_button").click(function(){
//alert(this.innerHTML);
var rowValue = $(this).parent().children().first().text();
var columnValue = $("th").eq($(this).parent().find(this).index()).text();
//alert($(this).parent().find(this).index());
alert("RowValue: " + rowValue + "\n" + "ColumnValue: " + columnValue);
});
});
基本上,我得到了按钮行的第一个相对值,以得到human,以此类推。然后,我使用按钮索引获取该索引处的文本
纯Javascript解决方案可能有点棘手
希望能有帮助