小编ami*_*mal的帖子

jQuery:通过从变量中选择元素来减少DOM遍历?

我有一长串DOM元素,我正在抓取属性以保存到对象.

看起来过度使用DOM操作来反复使用jQuery选择器.

var a = $('input[name=a]:checked').val(),
    b = $('input[name=b]')is(':checked'),
    c = $('input[name=c]').val();
Run Code Online (Sandbox Code Playgroud)

我想可能有办法做某事var $form = $('#form');,然后使用$form.find('input[name=a]:checked')$form.children('input[name=b]')$form.filter('input[name=c]').但是这些例子都没有了.我相信因为我没有选择元素本身,所以选择它们的父元素不会阻止jQuery重复使用DOM.真的吗?

另一种选择可能是为这个(:/)专门为所有元素添加另一个类,但由于某种原因,这似乎很奇怪.这将会给我一个数组,但是,我以为我可以使用,防止反复遍历DOM?像这样的东西:

var $formElementArray = $('.the_elements_you_wanted');
Run Code Online (Sandbox Code Playgroud)

然后使用过滤器?

var a = $formElementArray.filter('input[name=a]:checked').val(),
    b = $formElementArray.filter('input[name=b]')is(':checked'),
    c = $formElementArray.filter('input[name=c]').val();`
Run Code Online (Sandbox Code Playgroud)

这是最好的方法吗?这种事情有最好的做法吗?看起来有点蹩脚,我必须专门添加一个类以防止过多的DOM遍历,因为我正在操作的一些元素不会被组合在一起,否则,如果是这样的话,那么就行了起来. .

performance jquery dom

7
推荐指数
1
解决办法
1441
查看次数

SASS - 嵌套父选择器连接?

好的,这是我想要的输出:

.class-1, .class-2, .class-3 {
    z-index: 1;
}

.class-1-et-cetera, .class-2-et-cetera, .class-3-et-cetera {
    z-index: 5;
}
Run Code Online (Sandbox Code Playgroud)

我希望通过嵌套选择器并使用SASS来获得它,真的非常棒,&可以抓住父选择器.所以我一直在尝试这样的东西(SASS-syntax first):

.class-1, .class-2, .class-3
    z-index: 1
    &-et-cetera
        z-index: 5
Run Code Online (Sandbox Code Playgroud)

SCSS语法:

.class-1, .class-2, .class-3 {
    z-index: 1;
    &-et-cetera {
        z-index: 5;
    }
}
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,这不起作用.我试着用后的文本搞乱&......之类的东西&#{"-et-cetera"},&#{-et-cetera},& + "-et-cetera"...你的想法.

认为它是可能的,但似乎无法找到它.有什么办法吗?

sass

2
推荐指数
1
解决办法
2165
查看次数

标签 统计

dom ×1

jquery ×1

performance ×1

sass ×1