如何删除带有双冒号的id?
<li role="treeitem" aria-selected="false" aria-level="2" aria-labelledby="Vendor_Name::users_anchor" aria-expanded="true" id="Vendor_Name::users" class="jstree-node jstree-open">
我所尝试的:
$('[id*="Vendor_Name::users"]').remove();
$("#Vendor_Name\\:\\:users").remove();
$(document.getElementById("Vendor_Name::users")).remove();
$('li[id*="Vendor_Name::users"]').remove();
$('[id="Vendor_Name::users"]').remove();
$("li#Vendor_Name\\:\\:users").remove();
什么都不起作用。移除其他元素是有效的,因此它与::
我可以通过CSS删除它,但是我想从DOM中完全删除该元素。
#Vendor_Name\:\:users {
display: none;
}
您可以从下面对您给出的每个示例的测试中看到,它们都是有效的,并且都找到了元素...假设在您运行时它存在。
js-tree
类表明这可能是一个使用内部状态呈现各种节点的树插件。您可能希望使用插件的API来执行所需的操作
null
const selectors = [
'[id*="Vendor_Name::users"]',
"#Vendor_Name\\:\\:users",
document.getElementById("Vendor_Name::users"),
'li[id*="Vendor_Name::users"]',
"li#Vendor_Name\\:\\:users"
]
const allValid = selectors.every(s=> $(s).length > 0)
console.log('allValid =', allValid)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li id="Vendor_Name::users" class="jstree-node jstree-open">Test</li>
</ul>