获取clicked元素的同级,并移除纯javascript类或angular js,而不使用指令
所以问题是我知道如何在jQuery中实现它,我知道jQuery是一个开放平台,所以我可以找到兄弟姐妹的实际功能。 但我想在纯js或angular中实现,但不需要指令。 最好的解决方案是纯JS。 因此,当单击div时,addClass,但同级删除相同的类 提前谢谢 这里是html获取clicked元素的同级,并移除纯javascript类或angular js,而不使用指令,javascript,html,angularjs,Javascript,Html,Angularjs,所以问题是我知道如何在jQuery中实现它,我知道jQuery是一个开放平台,所以我可以找到兄弟姐妹的实际功能。 但我想在纯js或angular中实现,但不需要指令。 最好的解决方案是纯JS。 因此,当单击div时,addClass,但同级删除相同的类 提前谢谢 这里是html <div class="container"> <div class="row"> <div id="1"> <h1>asfsaff</h1&
<div class="container">
<div class="row">
<div id="1">
<h1>asfsaff</h1>
</div>
<div id="2">
<h1>asfsaff</h1>
</div>
<div id="3">
<h1>asfsaff</h1>
</div>
<div id="4">
<h1>asfsaff</h1>
</div>
<div id="5">
<h1>asfsaff</h1>
</div>
<div id="6">
<h1>asfsaff</h1>
</div>
</div>
</div>
下面是如何应用它。找到所需的节点,然后调用GetSides并检索同级节点的集合,然后对它们进行迭代并对其执行任何操作: var mySel=document.getElementById2; var myOthers=getSiblingsmySel; //首先,让我们设置我们选择的样式 mySel.className=已选择 //接下来,让我们取消切换任何其他选项
对于var i=0;我看一看——了解jQuery实际上是如何通过纯javascript实现的。实际上,非常优雅。使用parentNodes和childNodes。要删除该类,可以执行类似sibling.className=+sibling.className+.replace+classToRemove+,.trim的操作。@Marie,你完全正确-在我的回答中,我做了一个破坏性的类名操作。糟糕的形式,对我来说。使用ng类来实现这一点实际上非常简单。你想看一个演示吗?@Claies是的,当然Tnx。是的,当然,但如何调整我的示例,我是否需要将html的内容更改为r,因为它形成了新的数组?r是实用程序函数的内部。正如我在示例中所做的那样,您所要做的就是调用GetSides,然后将它们作为HTML元素数组进行迭代,您只需执行divSlide=getSiblingsevent.target,它将返回除所选元素之外的所有内容。没问题,但您可以根据我的代码更改示例。最终不需要解决。Tnx
$scope.addParent = function(e) {
var men = event.target.getAttribute('data');
console.log(men);
var divSlide = document.querySelectorAll('div');
divSlide.forEach(function(getId){
var divId = getId.getAttribute('id');
if(men === divId) {
getId.className = "fsafsa";
}
});
}