【发布时间】:2022-01-21 12:44:30
【问题描述】:
我是 JQuery、CSS 和所有这些东西的完全菜鸟。我正在尝试做一些更复杂的事情,但由于某些令人困惑的原因,第一步已经失败了。我现在要做的就是为某些元素添加一个类。我已将问题简化为最小的可重现示例。这是 JSFiddle:
https://jsfiddle.net/ZeHgS/8of76kcL/31/
我的代码很简单:
$("li").addClass("cat-parent");
但是什么都没有发生。在我运行它之后,没有一个 LI 有这个类。
我最终想做的是更复杂的事情:
$("li.wc-block-product-categories-list-item:has(ul.wc-block-product-categories-list)").addClass("cat-parent");
不确定语法是否正确,但是当我尝试时也没有任何反应。
所以,换句话说,我真正想要的是将.cat-parent 添加到所有具有特定类UL 的LI。除了我上面使用的那个之外,实际的 UL 还有一个类,但是这个额外的类在每个 UL 的末尾都有不同的数字。是否还需要包含它才能使选择起作用?如果是这样,会像我下面这样写吗?
$("li.wc-block-product-categories-list-item:has(ul.wc-block-product-categories-list[class^=\"wc-block-product-categories-list wc-block-categories-list--depth-1\")").addClass("cat-parent");
完整的 UL 类类似于 wc-block-product-categories-list[class^="wc-block-product-categories-list wc-block-categories-list--depth-1,其中末尾的数字不同。
为什么这个简单的代码对我不起作用?
【问题讨论】: