Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取clicked元素的同级,并移除纯javascript类或angular js,而不使用指令_Javascript_Html_Angularjs - Fatal编程技术网

获取clicked元素的同级,并移除纯javascript类或angular js,而不使用指令

获取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&

所以问题是我知道如何在jQuery中实现它,我知道jQuery是一个开放平台,所以我可以找到兄弟姐妹的实际功能。 但我想在纯js或angular中实现,但不需要指令。 最好的解决方案是纯JS。 因此,当单击div时,addClass,但同级删除相同的类

提前谢谢

这里是html

<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";
                    }

        });
}