![](/img/trans.png)
[英]How do I target an element nested inside a list item when the previous list item is clicked with Jquery/JavaScript?
[英]How can I use JavaScript to add CSS styles to a list element when clicked, but remove it when another li item is clicked?
我有 JavaScript 使 li 元素在侧边栏中作为类别选择器的一部分被单击时加粗并加下划线。
代码在这里:
$('li').click(function(e){
$(this).css('font-weight','bold');
$(this).css('text-decoration','underline');
})
我正在使用 Hubspot 和侧边栏的代码,有人可以在其中手动设置类别名称,然后将其应用于列表元素以进行排序:
<ul class="category-sidebar">
{% for item in module.poll_sidebar_categories %}
<li class="{{ item.poll_sidebar_category }}">{{ item.poll_sidebar_category }}</li>
{% endfor %}
</ul>
唯一的问题是即使我单击其他选项(如“全部”或显示类别“保留”等),此代码仍然存在。 我怎样才能让 css 在单击不同的 li 项目后不应用,然后 styles 仅应用于新的 li 项目?
我试图更改为 href 或将其添加到 li 标签中,但它不适用于其他 JS,所以我想看看这是否可能作为列表项
var ul = document.getElementsByClassName("category-sidebar");
var li = document.createElement("li");
li.classList.add("[your_new_category]");
li.innerHTML = "your_new_category"
ul.appendChild(li);
您必须创建 javascript 个元素并将其添加到父节点。
让我们首先通过它的类名引用我们的 object 接下来在 dom 集合类名中创建新的 li 元素,我假设你在你的 js append 中有你的新类别名称,从第一行新创建 li 到我们的 ul 元素。
希望这可以帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.