我可以从jQuery向JavaScript传递一个类选择器吗?
我有一个巨大的用户界面,上面有10000多个div元素,我正在做一个实验。我想找到一个超级快速的选择器方法,应该是非常原始的 我的10000多个div是一个大容器,其类为.b0-.b123,大数字包含较小的img,每个图像都有一个类为.q0-.q100 我想知道是否可以使用我的代码行在jQuery事件处理程序中以某种方式获得单击的图像的容器div:我可以从jQuery向JavaScript传递一个类选择器吗?,javascript,css-selectors,Javascript,Css Selectors,我有一个巨大的用户界面,上面有10000多个div元素,我正在做一个实验。我想找到一个超级快速的选择器方法,应该是非常原始的 我的10000多个div是一个大容器,其类为.b0-.b123,大数字包含较小的img,每个图像都有一个类为.q0-.q100 我想知道是否可以使用我的代码行在jQuery事件处理程序中以某种方式获得单击的图像的容器div: document.getElementsByClassName( e.target.className.replace( 'q', 'b' ) )[
document.getElementsByClassName( e.target.className.replace( 'q', 'b' ) )[0];
其中e是jQuery事件
还是会有更快的方法?对文档或树中更高位置的任何其他包含所需元素的元素进行事件委派 这将向单击的img添加一个类 根据给出的jQuery示例,它将如下所示
$(document).on("click", "img", function(){
var img = $(this);
img.toggleClass("selected");
});
与之等价的JavaScript是使用目标
document.body.addEventListener("click", function(evt) {
var elem = evt.target;
if (elem.tagName === "img") {
elem.classList.toggle("selected");
}
});
DOM向上/向下遍历在Javascript中相对简单,JQuery就是其中之一 元素可以通过 父母可以通过 因此,在e.target中访问图像所在的父级图像将是非常困难的
你试过了吗,应该有用吗?只有一件事,类名不应该包含任何句点,而且看起来你得到的元素和你在e.target中已经得到的元素完全一样?试什么,我列出的方法搜索整个文档否,因为他们单击div中的图像目标是当前的图像,但必须搜索整个文档,不知何故,我需要使用图像所在的div以使搜索更快速清晰:通过您使用的任何方法。。。e、 target当前指的是img元素,对吗?你想得到它的父div?e.target.parentNode不适合这种情况吗?
element.parentNode
element.childNodes
e.target.parentNode