我正在尝试做这个项目100%Javascript,没有任何JQuery。如何用Javascript模拟JQuery的find-last方法
我有一个十列表,当用户在表格的最后一行的选择框(类selectprod)中“跳出”时,无论它有多大或多小,我都要添加一个新行或缩小。我不希望每个select.selectprod都有这个keydown属性,只是动态表最后一行的select.selectprod。
问题是,当我添加addEventListener(唯一的办法,我可以认为这样做,这可能是错误的)到最后一行,然后添加一个新的行,我必须从上一行removeEventListener并添加它到了最后一排。不知道如何做到这一点。
jQuery中,我可以听的最后一排的第4列细胞,不管有多少行被添加和使用删除:
function addRowWithTab() {
alert('is it listening');
$(table).find("tr:not(.noedit):last select.selectprod").on("keydown",function(e) {
if(e.keyCode == 9) {
alert('tabbed !!! ');
addRow();
}
});
}
但我怎么模拟
$(table).find("tr:not(.noedit):last select.selectprod").on("keydown",function(e) {....
用Javascript? 到目前为止,我有以下几种看起来像甚至开始思考它的错误方式。
function addListener(){
var oldlength = document.getElementById("table1").getElementsByTagName('select').length;
var oldlength = oldlength-1;
var el = document.getElementById("item_" + oldlength);
el.removeEventListener("click", createRow, false);
var length = document.getElementById("table1").getElementsByTagName('select').length;
var el = document.getElementById("item_" + length);
el.addEventListener("click", createRow, false);
}
这让我疯狂!我应该尝试将所有select.selectprods添加到节点列表中,并且有一个函数以某种方式始终监听列表中的最后一个,即使该列表正在扩展和收缩? 请帮忙!
看一看[** Document.querySelectorAll **](https://developer.mozilla.org/en-US/docs/Web/API/Document.querySelectorAll)和[**元。 querySelectorAll **](https://developer.mozilla.org/en-US/docs/Web/API/Element.querySelectorAll)。他们采用一个或多个以逗号分隔的CSS选择器。 – Nope