如何将DOM引用转换为jQuery选择器
How to translate a DOM reference to a jQuery selector?
我有这个代码:
// Mark all menu items inactive
$(".sidebar-nav li").removeClass();
// Mark current memu item active
event.currentTarget.className = "active";
在此之前,我曾经有这样的代码:
$(".sidebar-nav li").css("background", "#383B4C");
event.currentTarget.style.background = "#292B3C";
看到图案了吗?两个示例中的第一行都是jQuery选择器,因此使用了jQuery方法;第二行是DOM引用,因此没有jquery。所以语法是不同的,尽管动作有点相同。
对我来说,这有点代码味。我想同时使用jQuery方式或同时使用非jQuery方式,以便它们看起来相似。有没有一种干净简洁的方法来完成其中的一个或两个?
jQuery方式
用$(...)
包裹event.currentTarget
$(".sidebar-nav li").removeClass();
$(event.currentTarget).addClass("active");
$(".sidebar-nav li").css("background", "#383B4C");
$(event.currentTarget).css('background', "#292B3C");
javascript方式
使用querySelectorAll让您的生活更轻松
var lis = document.querySelectorAll(".sidebar-nav li");
for (var i = 0; i < lis.length; i++) {
lis[i].className = '';
}
event.currentTarget.className = "active";
for (var i = 0; i < lis.length; i++) {
lis[i].style.background = '#383B4C';
}
event.currentTarget.style.background = "#292B3C";
您可以将DOM元素传递给jQuery:
$(event.currentTarget)
用jquery选择器包装当前目标,将其转换为jquery对象
$(event.currentTarget).addClass('active')
$(event.currentTarget).css('background', '#292B3C')
相关文章:
- jQuery选择器无法正常工作
- 将jquery选择器转换为数组
- JavaScriptDOM正常工作时JQuery选择器不工作
- 在我的情况下,使用带有变量失败的 jquery 选择器
- 换行符插入jquery选择器
- 使用javascript"这个“;用于jquery选择器
- jQuery选择器缓存问题
- jQuery 选择器,所有跨度都在 DIV 内
- JQuery选择器:如果同级具有.class,则选择td
- jQuery选择器不识别任何动态创建的HTML输入函数
- 循环遍历元素jquery选择器
- jQuery选择器错误:无法识别的表达式
- 自定义jquery选择器属性未在模拟器中激发
- Jquery选择器为空,我应该使用哪个作用域
- jQuery选择器就是用这个构建的
- jQuery 选择器混淆
- 将jQuery选择器与“this”相结合
- jQuery选择器在脚本中不起作用,但在控制台中工作
- jQuery 选择器中的简单 jQuery 语法和串联
- 全局 JQuery 选择器缓存以提高性能