Javascript Angularjs:如何检查元素';s子元素包含某些元素(按ID)
这是我的HTML的基本结构。所以,给定对“divWrapper”元素的访问权限,我如何检查它是否包含“secondInput” 注意:这是在没有jQuery的情况下完成的。仅使用Angularjs实用程序函数 更新:解决方案应该是动态的。这意味着它应该找到任何子级,不管它在DOM树中的级别有多低Javascript Angularjs:如何检查元素';s子元素包含某些元素(按ID),javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,这是我的HTML的基本结构。所以,给定对“divWrapper”元素的访问权限,我如何检查它是否包含“secondInput” 注意:这是在没有jQuery的情况下完成的。仅使用Angularjs实用程序函数 更新:解决方案应该是动态的。这意味着它应该找到任何子级,不管它在DOM树中的级别有多低 更新2:请不要被“输入”元素误导。我不想追踪里面的文字。我想要一个逻辑来检查我或我的孩子是否被点击。如果没有,那就把我和我的孩子藏起来 <div id="divWrapper"> &
更新2:请不要被“输入”元素误导。我不想追踪里面的文字。我想要一个逻辑来检查我或我的孩子是否被点击。如果没有,那就把我和我的孩子藏起来
<div id="divWrapper">
<input id="firstInput"/>
<div id="insideDiv">
<input id="secondInput"/>
</div>
</div>
这将返回您正在查找的元素,如果找不到任何内容,则返回为空。angular.element(“#someId”)。find(“someOtherSelector”)
已经完成了您想要的操作
所以对于你的问题你可以做
var secondInput = angular.element(document.querySelector("#divWrapper #insideDiv #secondInput"));
querySelector
也可用于原始DOM元素(查询应用于子元素),您可以使用数组索引器el[0]
从角度“元素”获取该元素。此解决方案非常静态。我想要一些动态的东西,可以找到任何子节点,可能是树下的多个层次。类似于jQuery中的“find”函数。你真的应该寻找一个ng模型,而不是通过DOM相关元素来寻找。请不要被“input”元素误导。我不想追踪里面的文字。我想要一个逻辑来检查我或我的孩子是否被点击。如果没有,那么隐藏我自己和我的孩子。这仍然应该从控制器端而不是从DOM驱动。Angular不仅跟踪“文本”,还可以跟踪布尔集合、重复项的索引以及许多其他实用的东西。操作DOM是一种脆弱的静态动态方式,完全有意义。但是,这是我在尝试了一个looot之后实际上无法理解的。你能帮我写一个代码片段吗?我不完全确定你要做的是什么逻辑,但这里有一个plunker,显示了如何单击一个复选框将一个子项设置为true,并同时显示它:jqLite版本的find是否仅限于按标记名查找?
angular.element("#divWrapper").find("#secondInput"); // Empty array OR a match