比较后如何获得相同的元素?

时间:2019-06-27 20:04:19

标签: jquery

我得到一个url参数,并将其与对象的属性进行比较。如果有这样的元素,我想给这个添加类。我怎么能得到这个?谢谢!

const url = new URL(window.location.href);
let params = window.location.search;
if(params != "") {

    let sort, way;
    sort = url.searchParams.get("sort");
    way = url.searchParams.get("way");

    if (sort != null) {

        if ($(".header").children().attr("parameter") == sort) {
            /* here */ $(".header").children().addClass("active");
        }
    }
}

2 个答案:

答案 0 :(得分:0)

仅当存在正确的属性时,您才可以依赖查询选择器添加类:

$('.header').children(`[parameter="${sort}"]`).addClass('active');

答案 1 :(得分:0)

不要忘记从其他元素中删除类。可能会使用不同的sort值多次调用此代码,或者类active可能来自服务器。

$(".header").children().removeClass('active')
   .filter("[parameter=" + sort + "]").addClass('active');

jsfiddle.net