使用香草javascript复制.each()和$(this).find()

时间:2019-02-28 09:36:04

标签: javascript foreach find each

我想基本上做下一个逻辑,但要使用香草javascript

$("li").each(function () {
    if (
        $(this).find("> .someClassName:nth-child(2)").length &&
        $(this).find("> .someClassName:last-child").length
    ) {
        $(this).addClass("className");
    }
});

我尝试了下一种逻辑,但是没有用..

const selectedLIs = document.querySelectorAll("li");
selectedLIs.forEach(element => {
    if (
        element.querySelector("> .someClassName:nth-child(2)") && element.querySelector("> .someClassName:last-child")
    ) {
        element.classList.add("className");
    }
});

这给了我这个错误...

  

无法在“元素”上执行“ querySelector”:'>   .someClassName:nth-​​child(2)'不是有效的选择器。

那我怎么能只用Javascript实现同一件事呢?

1 个答案:

答案 0 :(得分:1)

尝试从选择器中删除>

element.querySelector(".someClassName:nth-child(2)") && element.querySelector(".someClassName:last-child")